/* CHARME member login + recovery pages. Scoped to avoid overwriting site-wide layouts. */
.cm20-auth-page{background:#f7f7f2;min-height:72vh;padding:46px 0 85px;color:#183c32}
.cm20-auth-wrap{max-width:1120px!important;margin-inline:auto}
.cm20-auth-breadcrumb{font:500 12px/1.5 system-ui,sans-serif;color:#7f8e86;margin:0 0 32px;display:flex;align-items:center;gap:10px}
.cm20-auth-breadcrumb a{text-decoration:none;color:#536a60}
.cm20-auth-hero{max-width:740px;margin-bottom:36px}
.cm20-auth-hero>span,.cm20-auth-kicker,.cm20-auth-panel-heading>span{font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.21em;color:#a17d47}
.cm20-auth-hero h1{font-family:'Noto Serif KR',serif;font-size:clamp(32px,3.6vw,48px);font-weight:500;line-height:1.45;letter-spacing:-.055em;color:#16392f;margin:12px 0 14px}
.cm20-auth-hero h1 em{color:#a57c42;font-style:normal}
.cm20-auth-hero p,.cm20-auth-panel-heading p{font-size:14px;line-height:1.85;color:#5d7067;margin:0}
.cm20-auth-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.97fr);gap:22px;align-items:stretch}
.cm20-auth-login,.cm20-auth-join,.cm20-auth-recovery-card{background:#fff;border:1px solid #e2e6df;border-radius:22px;padding:clamp(24px,3.2vw,45px);box-shadow:0 14px 38px rgba(25,51,41,.04)}
.cm20-auth-panel-heading h2,.cm20-auth-join h2,.cm20-auth-recovery-card h2{font-family:'Noto Serif KR',serif;font-size:clamp(22px,2vw,28px);line-height:1.5;font-weight:550;letter-spacing:-.045em;margin:8px 0 8px;color:#193e33}
.cm20-auth-login-form{display:flex;flex-direction:column;gap:9px;margin-top:26px}
.cm20-auth-login-form label,.cm20-auth-mail-help label{font-size:13px;font-weight:750;color:#28483b}
.cm20-auth-login-form input,.cm20-auth-mail-help input{display:block;box-sizing:border-box;width:100%;min-width:0;height:49px;border-radius:11px;border:1px solid #cfdcd3;background:#fff;color:#173e33;padding:0 14px;font:500 14px/1.4 system-ui,sans-serif;margin:0 0 10px}
.cm20-auth-login-form input:focus,.cm20-auth-mail-help input:focus{border-color:#317d60;outline:3px solid rgba(40,122,88,.14)}
.cm20-auth-recovery-links{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 12px;font-size:12px;color:#aeb8b0}
.cm20-auth-recovery-links a,.cm20-auth-bottom-links a{color:#376550;text-decoration:none;font-weight:700}
.cm20-auth-recovery-links a:hover,.cm20-auth-bottom-links a:hover{text-decoration:underline}
.cm20-auth-primary{width:100%;min-height:53px;border:0;border-radius:12px;background:#164736;color:#fff;font:800 15px/1.4 system-ui,sans-serif;cursor:pointer;padding:14px 20px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .2s ease,transform .2s ease}
.cm20-auth-primary:hover{background:#24684e;transform:translateY(-1px)}
.cm20-auth-primary:disabled{background:#809889;cursor:not-allowed;transform:none}
.cm20-auth-primary-link{margin-top:14px}
.cm20-auth-mail-help{border-top:1px solid #e6eae5;margin-top:26px;padding-top:17px;font-size:12px;line-height:1.75;color:#63766c}
.cm20-auth-mail-help summary{font-size:12px;font-weight:750;color:#41624f;cursor:pointer;list-style:none}
.cm20-auth-mail-help summary::-webkit-details-marker{display:none}
.cm20-auth-mail-help summary::after{content:' +';float:right}
.cm20-auth-mail-help[open] summary::after{content:' −'}
.cm20-auth-mail-help p{margin:15px 0 13px}
.cm20-auth-inline{display:flex;gap:8px;min-width:0;margin:8px 0}
.cm20-auth-inline input{flex:1;margin:0}
.cm20-auth-inline button{border-radius:10px;border:1px solid #b6c6bc;color:#184938;background:#eef4ef;cursor:pointer;font-size:12px;font-weight:750;padding:0 13px;flex:none}
.cm20-auth-help-small{font-size:11px;color:#748378;line-height:1.75;margin-top:20px}
.cm20-auth-help-small a{color:#245a46;text-decoration:underline}
.cm20-auth-join{background:linear-gradient(155deg,#f0f4ed 0%,#faf9f3 100%);border-color:#d9e2d6}
.cm20-auth-join>p{font-size:13px;color:#627269;line-height:1.85;margin:10px 0 25px}
.cm20-auth-join>p strong{color:#1d553e}
.cm20-auth-join-choice{display:flex;gap:13px;align-items:center;min-height:108px;text-decoration:none;color:#1a4033;background:#fff;border:1px solid #dce5d9;border-radius:15px;padding:18px;margin-bottom:12px;box-sizing:border-box;transition:transform .2s,border-color .2s,box-shadow .2s}
.cm20-auth-join-choice:hover{transform:translateY(-2px);border-color:#a8bdac;box-shadow:0 8px 20px #183c3016}
.cm20-auth-requester{border-color:#96b4a5;background:#fdfefc}
.cm20-auth-choice-icon{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:12px;color:#b58b4e;background:#f1eadd;font-size:24px;font-weight:700}
.cm20-auth-requester .cm20-auth-choice-icon{background:#e1efe6;color:#18614b}
.cm20-auth-choice-copy{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.cm20-auth-choice-copy strong{font-size:17px;line-height:1.35;letter-spacing:-.02em;color:#143f31}
.cm20-auth-choice-copy small{font-size:12px;color:#617669}
.cm20-auth-choice-copy em{font-size:11px;line-height:1.65;font-style:normal;color:#897751}
.cm20-auth-choice-arrow{font-size:20px;color:#957343;flex:none}
.cm20-auth-join .cm20-auth-join-note{font-size:11px;line-height:1.75;border-top:1px solid #dae3d8;padding-top:16px;margin-top:25px;color:#738075}
.cm20-auth-alert{padding:14px 17px;border:1px solid #e9c9c3;background:#fff4f1;color:#903d31;border-radius:10px;font-size:13px;margin:0 0 20px;line-height:1.75}
.cm20-auth-success{background:#eef9f0;color:#236344;border-color:#c6e1ce}
.cm20-auth-footer{text-align:center;color:#7c8a80;font-size:12px;margin-top:30px}
.cm20-auth-footer a{color:#3c6250;text-decoration:none}
.cm20-auth-recovery-wrap{max-width:760px!important}
.cm20-auth-recovery-card{padding:clamp(25px,4vw,46px)}
.cm20-auth-recovery-card>p{font-size:13px;line-height:1.85;color:#65766c}
.cm20-auth-instructor-note{border-top:1px solid #e5e9e3;margin-top:25px;padding-top:18px;font-size:12px;line-height:1.8;color:#617269}
.cm20-auth-instructor-note strong{font-weight:800;color:#284c3b}
.cm20-auth-instructor-note p{margin:7px 0 0}
.cm20-auth-result{background:#edf6ef;border-radius:12px;border:1px solid #cadecd;padding:18px;font-size:13px;color:#205a3f;line-height:1.9;margin-top:21px}
.cm20-auth-result p{font-size:16px;letter-spacing:.02em;font-weight:800;margin:4px 0}
.cm20-auth-info{padding:15px;border:1px solid #e5e7de;background:#f7f7f1;border-radius:12px;font-size:13px;margin-top:20px;line-height:1.75;color:#66756e}
.cm20-auth-bottom-links{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #e5e9e3;margin-top:28px;padding-top:19px;font-size:12px}
.cm20-auth-recovery-steps{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.cm20-auth-recovery-steps span{background:#eef5ee;border-radius:9px;padding:10px 12px;color:#35604a;font-size:12px;font-weight:700}
.cm20-auth-recovery-steps b{color:#987143;margin-right:5px}
.cm20-auth-divider{border:0;border-top:1px solid #e6ebe5;margin:33px 0 28px}
.cm20-auth-recovery-card .cm20-auth-login-form h2{font-size:20px;margin:0 0 15px}
@media(max-width:840px){.cm20-auth-layout{grid-template-columns:1fr}.cm20-auth-wrap{padding-left:16px;padding-right:16px}.cm20-auth-page{padding-top:32px}.cm20-auth-join-choice{min-height:94px}}
@media(max-width:500px){.cm20-auth-page{padding:25px 0 50px}.cm20-auth-hero{margin-bottom:25px}.cm20-auth-hero h1{font-size:28px}.cm20-auth-login,.cm20-auth-join,.cm20-auth-recovery-card{padding:23px 18px;border-radius:16px}.cm20-auth-inline{flex-direction:column}.cm20-auth-inline button{min-height:43px}.cm20-auth-join-choice{gap:8px;padding:14px 11px}.cm20-auth-choice-icon{width:40px;height:40px}.cm20-auth-choice-copy strong{font-size:15px}.cm20-auth-join-choice small,.cm20-auth-choice-copy em{font-size:10px}.cm20-auth-recovery-links{justify-content:center}}
@media(prefers-reduced-motion:reduce){.cm20-auth-primary,.cm20-auth-join-choice{transition:none}.cm20-auth-primary:hover,.cm20-auth-join-choice:hover{transform:none}}

/* 2026-10-31: Three membership choices are intentionally equal peers.
   Keep these selectors scoped to member-login.php's ordered signup list:
   the shared recovery forms continue to use the original styles. */
.cm20-auth-join-list{display:grid;gap:12px;list-style:none;padding:0;margin:21px 0 0}
.cm20-auth-join-list>li{margin:0;padding:0;min-width:0;list-style:none}
.cm20-auth-join-list .cm20-auth-join-choice{display:grid;grid-template-columns:62px minmax(0,1fr) 22px;align-items:center;gap:13px;min-height:124px;margin:0;padding:17px 19px;border:1px solid #cbdccf;border-radius:16px;background:#fff;box-shadow:0 4px 12px rgba(21,63,45,.035);color:#163b2e;text-decoration:none}
.cm20-auth-join-list .cm20-auth-join-choice:hover{border-color:#598e75;background:#fafffb;box-shadow:0 10px 24px rgba(24,60,48,.10)}
.cm20-auth-join-list .cm20-auth-join-choice:focus-visible{outline:3px solid #277959;outline-offset:3px;border-color:#277959}
.cm20-auth-choice-visual{position:relative;display:block;width:60px;height:63px;flex:none}
.cm20-auth-choice-number{position:absolute;left:0;top:0;z-index:1;display:grid;place-items:center;min-width:26px;height:26px;padding:0 3px;box-sizing:border-box;border:1px solid #c8dacb;border-radius:8px;background:#fff;color:#174b36;font:800 13px/1 system-ui,sans-serif;box-shadow:0 2px 5px rgba(11,48,32,.07)}
.cm20-auth-join-list .cm20-auth-choice-icon{position:absolute;right:0;bottom:0;display:grid;place-items:center;width:51px;height:51px;border-radius:14px;background:#e7f0e8;color:#21543d;font-family:system-ui,'Apple Color Emoji','Segoe UI Emoji',sans-serif;font-size:27px;line-height:1}
.cm20-auth-join-list .cm20-auth-choice-copy{display:flex;flex-direction:column;gap:5px;min-width:0;word-break:keep-all}
.cm20-auth-join-list .cm20-auth-choice-copy strong{color:#133f30;font-size:17px;font-weight:800;line-height:1.4;letter-spacing:-.035em;overflow-wrap:break-word}
.cm20-auth-join-list .cm20-auth-choice-copy small{display:block;color:#526e60;font-size:12px;font-weight:650;line-height:1.6;overflow-wrap:break-word}
.cm20-auth-join-list .cm20-auth-choice-copy em{display:block;color:#6c745d;font-size:12px;line-height:1.65;font-style:normal;overflow-wrap:break-word}
.cm20-auth-join-list .cm20-auth-choice-arrow{justify-self:end;color:#8a6940;font-size:21px;font-weight:700}
.cm20-auth-join .cm20-auth-join-note{margin:23px 0 0;padding-top:17px;border-top:1px solid #d7e2d7;line-height:1.85;color:#576c5e;font-size:12px}
@media(max-width:600px){
  .cm20-auth-join-list{gap:11px;margin-top:19px}
  .cm20-auth-join-list .cm20-auth-join-choice{grid-template-columns:56px minmax(0,1fr) 18px;gap:10px;min-height:117px;padding:15px 13px;border-radius:14px}
  .cm20-auth-choice-visual{width:54px;height:57px}
  .cm20-auth-join-list .cm20-auth-choice-icon{width:46px;height:46px;border-radius:12px;font-size:24px}
  .cm20-auth-choice-number{min-width:24px;height:24px;font-size:12px}
  .cm20-auth-join-list .cm20-auth-choice-copy strong{font-size:16px}
  .cm20-auth-join-list .cm20-auth-choice-copy small,.cm20-auth-join-list .cm20-auth-choice-copy em{font-size:12px;line-height:1.55}
  .cm20-auth-join-list .cm20-auth-choice-arrow{font-size:19px}
}
@media(max-width:370px){
  .cm20-auth-join-list .cm20-auth-join-choice{grid-template-columns:50px minmax(0,1fr) 15px;gap:7px;padding:13px 10px}
  .cm20-auth-choice-visual{width:49px;height:53px}
  .cm20-auth-join-list .cm20-auth-choice-icon{width:43px;height:43px;font-size:22px}
  .cm20-auth-join-list .cm20-auth-choice-copy strong{font-size:15px}
}
