/* The family pages deliberately leave the shared storefront header untouched. */
.family-onboarding-page{background:#efe6dd!important;padding:0!important}
.family-onboarding-shell{padding:0!important;max-width:100%!important}
.family-onboarding-workspace{margin:0!important;gap:0!important}
.family-onboarding-alert{max-width:1240px;margin:0 auto 24px}
.family-membership{--family-green:#2f7a56;--family-ink:#161612;color:var(--family-ink);font-family:'Readex Pro',sans-serif;width:100%;max-width:1320px;margin:0 auto;padding:30px 32px 40px;box-sizing:border-box}
.family-membership *{box-sizing:border-box}
.family-membership h1,.family-membership h2{font-family:'M PLUS Rounded 1c','Readex Pro',sans-serif;font-weight:800;letter-spacing:-.035em;color:#161612;line-height:1.2}
.family-membership h1{font-size:clamp(30px,3.3vw,42px);margin:0 0 22px}
.family-membership h2{font-size:24px;margin:0 0 14px}
.family-membership p{line-height:1.55;color:#555951}
.family-primary,.family-secondary{width:100%;min-height:54px;border:0;border-radius:999px;padding:14px 22px;display:flex;gap:14px;align-items:center;justify-content:center;text-align:left;font:600 15px/1.4 'Readex Pro',sans-serif;text-decoration:none;cursor:pointer;box-sizing:border-box;white-space:normal}
.family-primary{background:linear-gradient(115deg,#2e8059,#287450);color:#fff}
.family-primary:hover{background:#256346;color:#fff}
.family-primary:disabled{background:#dddcd4;color:#66675d;cursor:not-allowed}
.family-primary>span:last-child{margin-left:auto;flex-shrink:0}
.family-primary:focus-visible,.family-secondary:focus-visible,.family-edit:focus-visible,.family-add-person:focus-visible{outline:3px solid #d6ac42;outline-offset:3px}
.family-secondary{color:#174c37;background:#e8eddd}
.family-secondary>span{font-size:28px;font-weight:400}
.family-welcome{max-width:1320px;background:#efe6dd}
.family-welcome-hero{position:relative;min-height:560px;overflow:hidden;display:flex;align-items:center;border:1px solid #fff;border-radius:26px;background:#fcf9f2 url('/images/family/welcome-scene.png') center/cover no-repeat}
.family-welcome-copy{position:relative;width:49%;padding:70px 0 58px 7%;z-index:1}
.family-welcome h1{font-size:clamp(38px,4.2vw,58px);line-height:1.14;max-width:490px;margin-bottom:24px}
.family-welcome p{font-size:18px;max-width:440px;margin:0 0 28px}
.family-welcome .family-primary{max-width:440px;font-size:17px}
.family-content-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:12px;align-items:stretch}
.family-members-step .family-content-grid{grid-template-columns:minmax(0,.78fr) minmax(0,1.45fr)}
.family-panel{min-width:0;border:1px solid #e9e3d9;background:rgba(255,253,249,.8);border-radius:24px;padding:24px}
.family-onboarding-intro{position:relative;overflow:hidden;padding:26px 30px 0;background:#fcf8ef}
.family-badge{display:inline-flex;align-items:center;gap:10px;background:#e8eddd;border:1px solid #d8dfce;border-radius:999px;padding:9px 14px;color:#22503b;font-size:13px;font-weight:600;margin-bottom:24px}
.family-onboarding-intro h1{font-size:clamp(30px,3.7vw,46px)}
.family-onboarding-intro p{margin:0;position:relative;z-index:1}
.family-onboarding-intro img{display:block;width:calc(100% + 60px);max-width:none;height:auto;object-fit:contain;margin:-10px -30px 0}
.family-members-panel{padding:26px 28px;display:flex;flex-direction:column}
.family-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.family-panel-heading h1{margin:0}
.family-manage{color:#2f7a56;font-size:14px;flex-shrink:0;text-decoration:underline;text-underline-offset:4px}
.family-member-group+.family-member-group{border-top:1px solid #e2dcd2;padding-top:20px;margin-top:18px}
.family-member-group h2{font-size:22px}
.family-member-group h2 small{font:400 13px 'Readex Pro',sans-serif;color:#59615b;letter-spacing:normal}
.family-person{display:flex;gap:16px;align-items:center;background:#fcfaf7;border:1px solid #e4dfd7;border-radius:20px;padding:11px 14px;margin:8px 0;min-height:72px;color:#161612;text-decoration:none}
.family-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:50%;display:grid;place-items:center;background:#e5ebdc;color:#24553c;font-size:22px;font-weight:600}
.family-avatar.partner{background:#e1e7e8;color:#375961}
.family-person-copy{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.family-person-copy strong{overflow-wrap:anywhere}
.family-person-copy>span{color:#505b5a;font-size:14px}
.family-edit{border:0;background:transparent;color:#50695f;width:44px;height:44px;flex:0 0 44px;cursor:pointer;display:grid;place-items:center}
.family-edit svg,.family-discount-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.family-add-person{display:flex;align-items:center;gap:16px;width:100%;min-height:58px;padding:8px 14px;border:1px solid #e0e3d6;border-radius:16px;background:#f3f5ec;text-align:left;color:#234d3c;font:600 15px 'Readex Pro',sans-serif;margin:8px 0;cursor:pointer}
.family-add-person>span:first-child{display:grid;place-items:center;width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:#e7ecde;font-size:26px;font-weight:400}
.family-helper{font-size:14px}
.family-complete-form{margin-top:auto;padding-top:22px;display:flex;flex-direction:column;align-items:flex-end}
.family-complete-form .family-primary{max-width:340px}
.family-confirmation{display:flex;gap:22px;align-items:center;background:#e5eddd;border:1px solid #d2ddc6;border-radius:20px;padding:18px 26px;margin-bottom:18px;min-height:86px}
.family-confirmation>span{background:#2f7a56;color:white;border-radius:50%;width:50px;height:50px;flex:0 0 50px;display:grid;place-items:center;font-size:32px}
.family-confirmation p{font-size:14px;margin:5px 0 0;color:#52615a}
.family-confirmation strong{font-size:17px}
.family-benefits-panel{padding:24px 20px 18px}
.family-benefits-intro{position:relative;padding:4px 43% 20px 6px;min-height:174px}
.family-benefits-intro h2{font-size:28px;margin-bottom:16px}
.family-benefits-intro p{font-size:15px;margin:0}
.family-benefits-intro img{position:absolute;right:0;bottom:0;width:46%;height:auto;max-height:190px;object-fit:contain}
.family-facebook{position:relative;z-index:1;font-size:14px}
.family-primary.family-facebook{background:#f2d596;color:#493a1f}
.family-primary.family-facebook:hover{background:#eac774;color:#382b15}
.family-facebook>span:first-child{font:bold 30px Arial;width:28px;flex:0 0 28px;text-align:center}
.family-benefits-divider{height:1px;background:#e2dcd2;margin:18px 0 14px}
.family-discount{padding:14px 18px;background:#e9eedf;border:1px solid #dfe6d5;border-radius:18px}
.family-discount form{display:flex;align-items:center;gap:10px}
.family-discount-icon{width:52px;height:52px;flex:0 0 52px;border-radius:50%;display:grid;place-items:center;color:#236145;background:#fcfaf6}
.family-discount .family-primary{font-size:14px;min-height:60px;padding:12px 20px}
.family-discount p{font-size:14px;margin:14px 0}
.family-discount small{font-size:12px;line-height:1.6;color:#59665a}
.family-coupon-code-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#fffdf8;border:1px solid #d4deca;border-radius:12px}
.family-coupon-code-row>div{flex:1;min-width:0}
.family-coupon-code-row>div>span{display:block;font-size:11px;color:#66715d;margin-bottom:6px}
.family-coupon-code-row strong{display:block;color:#245a3d;font:600 13px/1.6 monospace;overflow-wrap:anywhere;user-select:all}
.family-coupon-copy{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;border:1px solid #cedac5;border-radius:10px;background:#edf2e6;color:#2f6b4d;cursor:pointer}
.family-coupon-copy svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.family-coupon-copy:hover{background:#e2ead8}
.family-coupon-copy:focus-visible{outline:3px solid #d6ac42;outline-offset:3px}
.family-discount .family-coupon-copy-status{font-size:12px;min-height:18px;margin:5px 0}
.family-event-benefit{display:grid;grid-template-columns:minmax(0,1.35fr) 150px minmax(0,1fr);gap:20px;align-items:center;margin-top:18px;padding:18px 24px}
.family-event-benefit h2{font-size:26px;margin-bottom:8px}
.family-event-benefit p{font-size:14px;margin:0}
.family-event-benefit img{display:block;width:140px;height:auto;object-fit:contain;max-height:110px}
.family-event-benefit .family-secondary{font-size:14px;min-height:62px}
.family-existing-events{margin-top:28px}
@media(max-width:1050px) and (min-width:761px){
.family-membership{padding:24px}.family-panel{padding:20px}.family-onboarding-intro{padding:24px 20px 0}.family-onboarding-intro img{width:calc(100% + 40px);margin-left:-20px;margin-right:-20px}.family-benefits-intro h2{font-size:24px}.family-benefits-intro{padding-right:38%}.family-benefits-intro img{width:39%}.family-event-benefit{grid-template-columns:1fr 90px 1fr}.family-event-benefit img{width:90px}.family-panel-heading{flex-wrap:wrap}
}
@media(max-width:760px){
.family-membership{padding:18px 16px 28px}
.family-content-grid,.family-members-step .family-content-grid{grid-template-columns:minmax(0,1fr);gap:14px}
.family-panel{border-radius:22px;padding:20px}
.family-welcome-hero{min-height:690px;align-items:flex-start;background-size:auto 350px;background-position:68% bottom;background-color:#fcf9f2}
.family-welcome-copy{width:100%;padding:30px 24px 340px;background:linear-gradient(#fcf9f2 0%,#fcf9f2 82%,#fcf9f200 100%)}
.family-welcome h1{font-size:36px;line-height:1.15;max-width:330px;margin-bottom:18px}
.family-welcome p{font-size:15px;margin-bottom:22px}
.family-welcome .family-primary{font-size:14px;min-height:52px}
.family-onboarding-intro{padding:22px 22px 0;min-height:190px}
.family-onboarding-intro h1{font-size:31px;margin-bottom:14px}
.family-onboarding-intro p{font-size:14px;padding-right:10%;max-width:310px}
.family-badge{font-size:12px;padding:7px 11px;margin-bottom:16px}
.family-onboarding-intro img{width:calc(100% + 44px);height:auto;max-width:none;margin:-18px -22px 0}
.family-panel-heading{align-items:flex-start;flex-direction:column;gap:14px;margin-bottom:18px}
.family-panel-heading h1{font-size:30px}
.family-manage{font-size:13px}
.family-member-group h2{font-size:21px}
.family-person{padding:10px;gap:10px;min-height:70px;border-radius:17px}
.family-person-copy strong{font-size:14px}.family-person-copy>span{font-size:12px}
.family-avatar{width:42px;height:42px;flex-basis:42px;font-size:20px}
.family-edit{width:40px;flex-basis:40px}
.family-complete-form .family-primary{max-width:none}
.family-confirmation{padding:16px;gap:12px;border-radius:18px}
.family-confirmation>span{width:40px;height:40px;flex-basis:40px;font-size:26px}
.family-confirmation strong{font-size:14px}.family-confirmation p{font-size:12px}
.family-benefits-intro{padding:0 39% 18px 0;min-height:170px}
.family-benefits-intro h2{font-size:23px}.family-benefits-intro p{font-size:13px}
.family-benefits-intro img{width:40%;max-height:150px}
.family-facebook{font-size:12px;padding:13px 16px;gap:9px}
.family-facebook>span:first-child{width:20px;flex-basis:20px;font-size:26px}
.family-discount{padding:14px}.family-discount form{gap:8px}
.family-discount-icon{width:38px;height:38px;flex-basis:38px}
.family-discount .family-primary{font-size:12px;padding:12px 14px}
.family-discount p{font-size:13px}.family-discount small{font-size:11px}
.family-event-benefit{grid-template-columns:minmax(0,1fr) 70px;gap:12px;padding:20px}
.family-event-benefit h2{font-size:23px}.family-event-benefit p{font-size:13px}
.family-event-benefit img{width:70px}
.family-event-benefit .family-secondary{grid-column:1/-1;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.family-membership *{scroll-behavior:auto!important}}
.family-dialog{border:1px solid #e4dfd4;background:#fffdf8;border-radius:24px;padding:34px 22px 24px;width:calc(100% - 32px);max-width:450px;max-height:90svh;overflow:auto;color:#161612;box-shadow:0 16px 60px #0003}.family-dialog::backdrop{background:#16161299}.family-dialog h2{font-family:'M PLUS Rounded 1c',sans-serif;font-size:24px;font-weight:800;line-height:1.3;margin:8px 20px 24px 0}.family-dialog p{font-size:15px}.family-dialog-close{position:absolute;top:9px;right:10px;width:44px;height:44px;border:0;background:transparent;font-size:30px;color:#526058;cursor:pointer}.family-giveaway-code{display:flex;flex-wrap:wrap;align-items:center;gap:8px;justify-content:space-between;border:1px solid #d7e1ca;background:#edf1e5;padding:16px 12px;border-radius:16px}.family-giveaway-code strong{font-size:26px;color:#1d563e;letter-spacing:1px;overflow-wrap:anywhere}.family-giveaway-code button{background:#fff;border:1px solid #c7d4ba;border-radius:10px;padding:12px;font-size:13px;min-height:44px;color:#245c3f}.family-copy-status{display:block;min-height:24px;font-size:13px;color:#2f7a56;margin-top:8px}.family-dialog ol{padding-left:22px;font-size:14px;line-height:1.6;margin:14px 0 26px}.family-dialog li{padding:5px 0}.family-dialog>small{display:block;font-size:12px;text-align:center;color:#636b60;margin-top:16px}body:has(.family-dialog[open]){overflow:hidden}

/* Member dialogs: all overrides are scoped to the family page. */
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-modal-card{position:relative;width:min(100%,560px);max-height:92svh;padding:26px;border-radius:24px;background:#fcfaf6;border:1px solid #fff;box-shadow:0 20px 70px #28241c38;color:#161612}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header{position:relative;background:none;border:0;border-radius:0;padding:38px 0 22px;margin:0;min-height:176px;display:block}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>img{position:absolute;right:0;top:0;width:185px;max-height:180px;height:auto;object-fit:contain;pointer-events:none}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>span{display:table;max-width:60%;min-height:0;background:#dfe8dc;border:0;border-radius:999px;padding:6px 13px;font:700 11px/1.3 'Readex Pro',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#254c3b;margin-bottom:9px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>strong{position:relative;display:block;max-width:70%;font:800 27px/1.2 'M PLUS Rounded 1c',sans-serif;margin:0;color:#161612}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>p{position:relative;font:400 13px/1.5 'Readex Pro',sans-serif;color:#5a5d57;margin:10px 0 0;max-width:65%}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-form{display:flex;flex-direction:column;gap:20px;margin:0}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-validation:empty{display:none}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-field{margin:0;display:block}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-field>label,.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) legend{font:600 13px/1.4 'Readex Pro',sans-serif;text-transform:uppercase;color:#454640;margin-bottom:7px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) input[type=text]{min-height:46px;width:100%;border:1px solid #cfd8d6;border-radius:11px;background-color:#fff;padding:11px 14px 11px 46px;color:#161612;font:400 14px/1.4 'Readex Pro',sans-serif;background-repeat:no-repeat;background-position:15px center;background-size:19px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) input[autocomplete=given-name]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23515754' stroke-width='1.6'%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3Cpath d='M4 21v-3a8 8 0 0 1 16 0v3z'/%3E%3C/svg%3E")}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) input[autocomplete=off]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23515754' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M7 2v6M17 2v6'/%3E%3C/svg%3E")}
.family-onboarding-page .family-modal-close{position:absolute;right:10px;top:8px;z-index:2;width:44px;height:44px;display:grid;place-items:center;border:0;background:transparent;color:#252b26;font-size:29px;cursor:pointer}
.family-onboarding-page .family-privacy{display:flex;align-items:center;gap:15px;background:#ecf0e4;border-radius:16px;padding:14px 18px}
.family-onboarding-page .family-privacy i{font-size:23px;color:#174d30}
.family-onboarding-page .family-privacy p{margin:0;font:400 12px/1.5 'Readex Pro',sans-serif;color:#555c52}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-form-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #e0d9cf;padding-top:20px;margin:4px 0 0}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-submit{order:2;display:flex;align-items:center;justify-content:space-between;gap:30px;min-width:52%;min-height:48px;padding:12px 22px;background:linear-gradient(115deg,#2e8059,#287450);color:#fff;border:0;border-radius:999px;font:600 14px/1.4 'Readex Pro',sans-serif;box-shadow:none}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-cancel{order:1;min-height:48px;padding:12px 26px;border:1px solid #d2d8d4;background:#fff;color:#454944;border-radius:999px;font:500 14px/1.4 'Readex Pro',sans-serif;box-shadow:none}
.family-onboarding-page #familyMemberEditFormShell .family-member-modal-header{padding-top:12px;padding-bottom:20px;border-bottom:1px solid #e0d9cf;margin-bottom:20px;min-height:190px}
.family-onboarding-page #familyMemberEditFormShell .family-member-modal-header>img{width:170px;top:6px}
.family-onboarding-page #familyMemberEditFormShell .family-member-modal-header>strong{font-size:25px}
.family-onboarding-page #familyMemberEditFormShell .family-edit-identity{display:flex;gap:14px;align-items:center;margin-top:20px}
.family-onboarding-page #familyMemberEditFormShell .family-edit-identity .family-avatar{width:56px;height:56px;flex-basis:56px;font-size:27px}
.family-onboarding-page #familyMemberEditFormShell .family-edit-identity small{display:block;margin-top:4px;color:#5b605b;font-size:12px}
.family-onboarding-page #familyMemberEditFormShell .family-relationship{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:0;border:0;background:none}
.family-onboarding-page #familyMemberEditFormShell .family-relationship legend{float:none;width:100%;padding:0}
.family-onboarding-page #familyMemberEditFormShell .family-relationship label{display:flex;align-items:center;justify-content:center;gap:12px;border:1px solid #d6dcd5;border-radius:999px;padding:12px;min-height:46px;margin:0;font:600 14px 'Readex Pro',sans-serif;cursor:pointer}
.family-onboarding-page #familyMemberEditFormShell .family-relationship label:has(input:checked){background:#dce7d7;border-color:#398262;color:#19472d}
.family-onboarding-page #familyMemberEditFormShell .family-relationship input{accent-color:#2f7a56;width:16px;height:16px;position:static;opacity:1;appearance:auto}
.family-onboarding-page #familyMemberEditFormShell .family-onboarding-delete-form{margin:16px 0 0;padding-top:10px;border-top:1px solid #e0d9cf}
.family-onboarding-page #familyMemberEditFormShell .family-onboarding-delete-button{border:0;background:none;color:#b62424;padding:8px 2px;box-shadow:none;font:400 13px 'Readex Pro',sans-serif;min-height:40px}
.family-onboarding-page #familyMemberEditFormShell .family-onboarding-delete-button:disabled{color:#888;cursor:not-allowed}
@media(max-width:600px){
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell).is-visible{padding:12px 10px;place-items:end center}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-modal-card{padding:22px 20px;max-height:94svh;border-radius:24px 24px 16px 16px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header{padding-top:24px;min-height:156px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>img{width:130px;top:16px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>strong{font-size:23px;max-width:68%}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-member-modal-header>p{font-size:12px;max-width:64%}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-form{gap:17px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-submit{min-width:0;flex:1;font-size:13px;padding:12px 16px;gap:10px}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-cancel{font-size:13px;padding:12px 18px}
.family-onboarding-page .family-privacy{padding:12px;gap:10px}
.family-onboarding-page .family-privacy p{font-size:11px}
.family-onboarding-page #familyMemberEditFormShell .family-member-modal-header>img{width:125px;top:20px}
.family-onboarding-page #familyMemberEditFormShell .family-member-modal-header>strong{font-size:22px}
.family-onboarding-page #familyMemberEditFormShell .family-member-modal-header{min-height:188px;padding-top:8px}
}.family-onboarding-page #familyMemberEditFormShell .family-relationship label{position:relative}
.family-onboarding-page #familyMemberEditFormShell .family-relationship input{position:absolute;width:1px;height:1px;opacity:0}
.family-onboarding-page #familyMemberEditFormShell .family-relationship label:has(input:focus-visible){outline:3px solid #d6ac42;outline-offset:2px}
.family-onboarding-page #familyMemberEditFormShell .family-relationship label i{font-size:21px}
.family-ui-icon{width:22px;height:22px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.family-privacy>.family-ui-icon{color:#174d30}
.family-onboarding-intro h1{font-size:clamp(30px,3.1vw,40px)}
.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-field:has([data-family-date-picker]) input[type=text]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23515754' stroke-width='1.6'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M3 10h18M7 2v6M17 2v6'/%3E%3C/svg%3E")}
@media(max-width:760px){.family-welcome-copy{background:none}.family-welcome-hero{background-position:70% bottom}}
@media(max-height:820px){.family-onboarding-page :is(#familyMemberFormShell,#familyMemberEditFormShell,#familyEventFormShell) .family-onboarding-form-actions{position:sticky;bottom:0;z-index:3;background:#fcfaf6;padding-bottom:8px;box-shadow:0 -10px 12px #fcfaf6}}
.family-onboarding-page #familyMemberEditFormShell .family-relationship label{text-transform:none}

/* One shared surface connects the event invitation and the saved events. */
.family-moments-panel{margin-top:18px;padding:22px 24px}
.family-moments-panel>.family-event-benefit{margin:0;padding:0;border:0;background:none;border-radius:0}
.family-moments-panel>.family-existing-events{margin-top:22px;padding-top:22px;border-top:1px solid #e2dcd2}
.family-moments-panel>.family-existing-events h2{font-size:21px;margin-bottom:14px}
.family-moments-panel .family-event-row{margin:10px 0 0;padding:13px 16px;gap:14px;min-height:76px;background:#fffdf9;border-color:#e4dfd7;border-radius:17px;transition:background .15s,border-color .15s}
.family-moments-panel .family-event-row:hover{background:#f2f5eb;border-color:#b9cdb3;color:#161612}
.family-moments-panel .family-event-row:focus-visible{outline:3px solid #d6ac42;outline-offset:3px}
.family-event-row-icon{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:14px;background:#e8eddf;color:#2f6b4f}
.family-event-row-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.family-event-row-arrow{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;color:#2f6b4f;font-size:21px}
@media(max-width:760px){
 .family-moments-panel{padding:20px}
 .family-moments-panel>.family-existing-events{margin-top:20px;padding-top:20px}
 .family-moments-panel>.family-existing-events h2{font-size:20px}
 .family-moments-panel .family-event-row{gap:10px;padding:12px 10px}
 .family-event-row-icon{width:36px;height:40px;flex-basis:36px;border-radius:11px}
 .family-event-row-icon svg{width:20px;height:20px}
 .family-event-row-arrow{width:24px;flex-basis:24px}
}

/* Event creation uses the same modal system as member creation and editing. */
.family-onboarding-page #familyEventFormShell .family-member-modal-header{min-height:160px;padding-top:20px}
.family-onboarding-page #familyEventFormShell .family-member-modal-header>img{width:150px;top:12px;right:4px}
.family-onboarding-page #familyEventFormShell .family-member-modal-header>strong{max-width:68%;font-size:26px;overflow-wrap:anywhere}
.family-onboarding-page #familyEventFormShell .family-member-modal-header>p{max-width:66%}
.family-onboarding-page #familyEventFormShell .family-event-types{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0}
.family-onboarding-page #familyEventFormShell .family-event-types legend{float:none;width:100%;padding:0}
.family-onboarding-page #familyEventFormShell .family-event-types label{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:54px;margin:0;padding:12px;border:1px solid #d6dcd5;border-radius:16px;background:#fffdf9;font:600 14px 'Readex Pro',sans-serif;text-transform:none;letter-spacing:0;cursor:pointer}
.family-onboarding-page #familyEventFormShell .family-event-types label:has(input:checked){background:#dfe9d9;border-color:#398262;color:#194d33;box-shadow:inset 0 0 0 1px #39826222}
.family-onboarding-page #familyEventFormShell .family-event-types label:has(input:focus-visible){outline:3px solid #d6ac42;outline-offset:3px}
.family-onboarding-page #familyEventFormShell .family-event-types input{position:absolute;opacity:0;width:1px;height:1px}
.family-onboarding-page #familyEventFormShell .family-event-types>span{grid-column:1/-1}
.family-onboarding-page #familyEventFormShell .family-onboarding-field input[name="EventForm.Location"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23515754' stroke-width='1.6'%3E%3Cpath d='M20 10c0 6-8 12-8 12S4 16 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E")}
.family-onboarding-page #familyEventFormShell .family-onboarding-checkbox{display:flex;align-items:center;gap:12px;margin:0;padding:16px;background:#ecf0e4;border:1px solid #dfe6d5;border-radius:16px;font:500 14px/1.5 'Readex Pro',sans-serif;color:#264c37;cursor:pointer}
.family-onboarding-page #familyEventFormShell .family-onboarding-checkbox input[type=checkbox]{position:static;appearance:auto;opacity:1;width:20px;height:20px;flex:0 0 20px;margin:0;accent-color:#2f7a56}
.family-onboarding-page #familyEventFormShell .family-onboarding-checkbox:has(input:focus-visible){outline:3px solid #d6ac42;outline-offset:3px}
@media(max-width:600px){
 .family-onboarding-page #familyEventFormShell .family-member-modal-header{min-height:150px;padding-top:12px}
 .family-onboarding-page #familyEventFormShell .family-member-modal-header>img{width:105px;top:28px;right:0}
 .family-onboarding-page #familyEventFormShell .family-member-modal-header>strong{font-size:23px;max-width:66%}
 .family-onboarding-page #familyEventFormShell .family-member-modal-header>p{max-width:66%}
 .family-onboarding-page #familyEventFormShell .family-event-types label{font-size:13px;gap:8px;padding:12px 8px}
 .family-onboarding-page #familyEventFormShell .family-onboarding-checkbox{font-size:13px;padding:14px}
}

.family-onboarding-page #familyEventFormShell .family-event-types{grid-template-columns:1fr 1fr}
.family-onboarding-page #familyEventFormShell .family-wishlist-option{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:0 8px;align-items:center;padding:14px 16px;background:#ecf0e4;border:1px solid #dfe6d5;border-radius:16px}
.family-onboarding-page #familyEventFormShell .family-wishlist-option>.family-onboarding-checkbox{padding:0;border:0;border-radius:0;background:none}
.family-info-button{width:30px;height:30px;display:grid;place-items:center;border:1px solid #8aa38c;border-radius:50%;background:#fcfaf6;color:#285e42;font:600 15px Georgia,serif;cursor:pointer}
.family-info-button:focus-visible{outline:3px solid #d6ac42;outline-offset:2px}
.family-wishlist-info{grid-column:1/-1;margin:12px 0 0;padding-top:12px;border-top:1px solid #d4ddcc;font:400 12px/1.6 'Readex Pro',sans-serif;color:#52604f}
.family-onboarding-page #familyEventFormShell .family-custom-event-field[hidden]{display:none}
.family-onboarding-page #familyEventFormShell .family-custom-event-field input[type=text]{padding-left:14px;background-image:none}
@media(max-width:600px){.family-onboarding-page #familyEventFormShell .family-wishlist-option{padding:12px}}

/* Keep the expanded event choices compact enough for shorter desktop screens. */
.family-onboarding-page #familyEventFormShell .family-onboarding-modal-card{width:min(100%,600px);padding:22px}
.family-onboarding-page #familyEventFormShell .family-member-modal-header{min-height:120px;padding:12px 0 16px}
.family-onboarding-page #familyEventFormShell .family-member-modal-header>img{width:122px;top:0}
.family-onboarding-page #familyEventFormShell .family-onboarding-form{gap:14px}
.family-onboarding-page #familyEventFormShell .family-event-types{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.family-onboarding-page #familyEventFormShell .family-event-types label{font-size:13px;min-height:52px;gap:8px;padding:10px 8px}
.family-onboarding-page #familyEventFormShell .family-event-types>span:empty{display:none}
.family-onboarding-page #familyEventFormShell .family-wishlist-option{padding:12px}
.family-onboarding-page #familyEventFormShell .family-onboarding-form-actions{padding-top:14px;margin-top:0}
@media(max-width:600px){
 .family-onboarding-page #familyEventFormShell .family-event-types{grid-template-columns:1fr 1fr}
 .family-onboarding-page #familyEventFormShell .family-member-modal-header>img{width:98px;top:20px}
 .family-onboarding-page #familyEventFormShell .family-member-modal-header{min-height:132px}
 .family-onboarding-page #familyEventFormShell .family-onboarding-field input[type=text]{font-size:16px}
}
.family-onboarding-page .family-option-label{color:inherit;font:inherit}
