/* Public authentication only. Existing mobile forms and member account remain independent. */
.auth-form-heading{display:none}
.auth-heart{color:#ff1493}
@media(min-width:900px){
 .auth-page{background:#fff9e9;color:#111}
 .auth-page .member-sitebar{background:#ffd700;padding:18px max(28px,calc((100vw - 1240px)/2));border-bottom:3px solid #111;min-height:88px}
 .auth-page .member-brand{width:132px;height:73px;display:inline-flex;gap:0}
 .auth-page .member-brand img{width:100%;height:100%;object-fit:contain}
 .auth-page .member-sitebar-link{color:#111;font-weight:800;text-decoration:none;white-space:nowrap}
 .auth-page .member-sitebar-link:hover{text-decoration:underline}
 .auth-page .member-page{width:100%;max-width:1240px;padding:48px 28px 64px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:stretch}
 .auth-page .member-hero{display:flex;flex-direction:column;justify-content:space-between;gap:24px;background:#ffe6ef;background-image:none;color:#111;border:0;border-radius:20px;padding:0;box-shadow:none;overflow:hidden;min-height:600px}
 .auth-hero-copy{padding:40px 32px 0}
 .auth-page .member-hero h2{font-size:clamp(38px,4.4vw,62px);font-weight:900;letter-spacing:-2px;line-height:1.03;margin:0 0 24px}
 .auth-page .member-hero h2 span{color:#ff1493}
 .auth-page .member-hero p{font-size:22px;line-height:1.4;font-weight:500;max-width:28ch}
 /* Use the actual approved mockup artwork as a sprite, preserving the two original illustrations. */
 .auth-page .auth-community-art{width:100%;border:0;display:block;margin:0;flex:none;background-image:url('/assets/auth-approved-design.jpg');background-repeat:no-repeat}
 .auth-page .auth-approved-login{aspect-ratio:386/370;background-image:url('/assets/auth-community.jpg');background-size:cover;background-position:center 18%}
 .auth-page .auth-approved-register{height:380px;aspect-ratio:3/4;background-image:url('/assets/auth-registration-art.jpg');background-size:cover;background-position:center;border-radius:0 0 20px 20px}
 .auth-page .member-card{width:100%;max-width:none;margin:0;align-self:center;border:3px solid #111;border-radius:20px;box-shadow:7px 7px 0 #111;overflow:hidden;background:#fff}
 .auth-page .member-topbar,.auth-page .member-avatar{display:none}
 .auth-page .member-body{padding:40px 32px;gap:18px}
 .auth-page .auth-form-heading{display:block}
 .auth-kicker{display:inline-block;background:#ff1493;color:white;border-radius:999px;padding:6px 14px;font-size:12px;font-weight:900;text-transform:uppercase;margin-bottom:20px}
 .auth-page .member-body h1{font-size:clamp(28px,3vw,40px);line-height:1.12;letter-spacing:-1px;margin:0}
 .auth-page .member-body>.muted{color:#333;font-size:16px;margin:0 0 10px}
 .auth-page .stack{gap:24px}
 .auth-page .field>span,.auth-page .field>legend{text-transform:none;letter-spacing:0;font-weight:700;font-size:14px}
 .auth-page .input{border:2px solid #b5b5b5;border-radius:8px;min-height:48px;padding:12px 14px;font-weight:400}
 .auth-page .input:focus{border-color:#111;outline:3px solid #ffd700;outline-offset:2px}
 .auth-page .btn.primary{border-radius:10px;background:#ffd700;min-height:52px;font-size:16px;margin-top:8px;box-shadow:5px 5px 0 #111}
 .auth-page .back-link{display:block;text-align:center;font-weight:700;color:#c40068;margin-top:12px;font-size:14px;text-underline-offset:4px}
 .auth-register .member-page{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:start}
 .auth-login .member-page{grid-template-columns:minmax(0,.65fr) minmax(0,1.35fr);align-items:start}
 .auth-login .member-card{align-self:start}
 .auth-page .member-hero{position:sticky;top:24px;min-height:650px}
 .auth-page .member-hero h2{color:#ff1493;font-size:clamp(38px,4vw,56px)}
 .auth-page .member-hero p{font-size:19px}
 .auth-register .member-body{padding:28px;gap:12px}
 .auth-register .member-body h1{font-size:32px}
 .auth-register .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;counter-reset:section}
 .auth-register .form-section-label{display:flex;gap:10px;align-items:center;font-size:16px;color:#111;text-transform:none;letter-spacing:0}
 .auth-register .form-section-label::before{counter-increment:section;content:'0' counter(section);background:#ff1493;color:#fff;border-radius:999px;width:34px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:13px;line-height:1;flex:0 0 34px}
 .auth-register .form-section-divider{border:0;border-top:1px solid #ddd;margin:8px 0}
 .auth-register .form-grid>button{grid-column:1/-1}
 .auth-register fieldset.field{gap:10px}
 .auth-register .checkbox{padding:7px 10px;border:1px solid #ddd;border-radius:9px;font-weight:500}
 .auth-register .checkbox:has(input:checked){background:#fff0f7;border-color:#ff1493}
 .auth-register .package-scroll{flex-wrap:wrap;overflow:visible}
 .auth-register .package-card{flex:1 1 145px;width:auto;min-width:0;border:2px solid #aaa;box-shadow:none;padding:16px 12px}
 .auth-register .package-card:has(input:checked){background:#fff0f7;border-color:#ff1493;box-shadow:3px 3px 0 #111}
}

/* Mobile auth concept: compact app header, illustration card, then a comfortable touch form. */
@media (max-width: 899px) {
 .auth-page{background:#fff9e9}
 .auth-page .member-sitebar{position:relative;justify-content:center;min-height:64px;padding:6px 14px;background:#ffd700;border-bottom:3px solid #111}
 .auth-page .member-brand{width:126px;height:52px;gap:0}
 .auth-page .member-brand img{width:100%;height:100%;object-fit:contain}
 .auth-page .member-sitebar-link{position:absolute;left:14px;top:10px;width:38px;height:38px;font-size:0;color:#111;text-decoration:none;display:grid;place-items:center}
 .auth-page .member-sitebar-link::before{content:'←';font-size:28px;line-height:1;font-weight:900}
 .auth-page .member-page,.auth-page .member-page-wide{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:16px 12px 28px;min-height:0}
 .auth-page .member-hero{display:flex;flex-direction:column;gap:0;min-height:0;width:100%;background:#ffe6ef;border:3px solid #111;border-bottom:0;border-radius:16px 16px 0 0;overflow:hidden;box-shadow:none;color:#111}
 .auth-page .auth-hero-copy{padding:22px 18px 16px}
 .auth-page .auth-hero-copy{display:none}
 .auth-page .member-hero h2{font-size:32px;line-height:1.02;letter-spacing:-1px;color:#ff1493;margin:0 0 12px}
 .auth-page .member-hero p{font-size:14px;line-height:1.35;margin:0;max-width:28ch}
 .auth-page .auth-community-art{width:100%;height:218px;aspect-ratio:auto;border-radius:0;background-size:cover}
 .auth-page .auth-approved-login{background-image:url('/assets/auth-community.jpg');background-size:100% auto;background-position:center 18%;background-color:#ffe6ef}
 .auth-page .auth-approved-register{height:218px;aspect-ratio:auto;background-image:url('/assets/auth-registration-art.jpg');background-size:100% auto;background-position:center 18%;background-color:#ffe6ef}
 .auth-page .member-card{width:100%;border:3px solid #111;border-radius:0 0 16px 16px;box-shadow:5px 5px 0 #111;overflow:hidden}
 .auth-page .member-topbar,.auth-page .member-avatar{display:none}
 .auth-page .member-body{padding:22px 18px 26px;gap:14px}
 .auth-page .auth-form-heading{display:block}
 .auth-page .auth-kicker{margin-bottom:12px;font-size:11px;padding:5px 11px}
 .auth-page .member-body h1{font-size:28px;line-height:1.1;margin:0}
 .auth-page .member-body>.muted{font-size:14px;margin:0 0 4px}
 .auth-page .stack{gap:16px}
 .auth-page .field>span,.auth-page .field>legend{font-size:13px;text-transform:none;letter-spacing:0}
 .auth-page .input{min-height:48px;border:2px solid #aaa;border-radius:9px;padding:11px 13px;font-size:14px}
 .auth-page .btn.primary{min-height:50px;border-radius:10px;font-size:15px;box-shadow:4px 4px 0 #111}
 .auth-page .back-link{display:block;text-align:center;color:#c40068;font-size:13px;margin-top:6px}
 .auth-register .member-body{padding:20px 16px 24px;gap:12px}
 .auth-register .member-body h1{font-size:27px}
 .auth-register .form-grid{grid-template-columns:1fr;gap:14px}
 .auth-register .form-grid>.field-full,.auth-register .form-grid>fieldset.field,.auth-register .form-grid>.form-section-label,.auth-register .form-grid>.form-section-divider{grid-column:1}
 .auth-register .form-section-label{font-size:15px;gap:9px;margin-top:4px}
 .auth-register .form-section-label::before{width:32px;height:25px;flex-basis:32px}
 .auth-register .form-section-divider{margin:5px 0}
 .auth-register .checkbox{min-height:42px;padding:9px 10px;border:1px solid #ddd;border-radius:9px}
 .auth-register .package-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px}
 .auth-register .package-card{flex:0 0 155px;width:155px;padding:13px 11px}
}
