@charset "utf-8";
.member-page {padding:0 0 var(--space-200);}

/* 로그인 페이지 (2단 레이아웃) */
.login-page {display:flex; min-height:100vh;}
.login-page .login-left {flex:0 0 33.33333%; background:url('/images/member/log_bg.jpg') 50% 50% / cover no-repeat; display:flex; flex-direction:column; padding:var(--space-45) var(--space-60); color:#fff;}
.login-page .back-link {display:inline-flex; align-items:center; gap:var(--space-5); color:#fff; font-size:var(--font-size-16); font-weight:500;}
.login-page .back-link .arrow {margin-right:var(--space-5);}
.login-page .brand {margin:var(--space-70) 0 var(--space-60); font-family:"Barlow Condensed", sans-serif; font-size:var(--font-size-80); font-weight:700; line-height:1;}
.login-page .welcome .line1 {margin-bottom:var(--space-25); color:rgba(255, 255, 255, .5); font-size:var(--font-size-24); font-weight:700; line-height:1.4;}
.login-page .welcome .line1 span {color:#fff;}
.login-page .welcome .line2 {font-size:var(--font-size-18); font-weight:700; line-height:1.6;}
.login-page .foot-links {gap:15px; flex:1; display:flex; flex-direction:column; justify-content:flex-end; font-size:var(--font-size-14); line-height:1.5; color:rgba(255,255,255,0.7);}
.login-page .foot-links .pop-link {font-size:var(--font-size-14); color:#676767; display:flex; gap:var(--space-15);}

.login-page .foot-links .copyright {justify-content:space-between; font-size:var(--font-size-18); display:flex; color:#fff; font-weight:700; font-family:"Barlow Condensed", sans-serif;}
.login-page .foot-links .copyright a {color:#1c1c1c;}
.login-page .login-right {flex:1; display:flex; flex-direction:column; justify-content:center; padding:var(--space-30); background:#fff;}
.login-page .login-right .tit {font-size:var(--font-size-36); font-weight:700; color:var(--color-bk); margin-bottom:var(--space-40);}
.login-page .login-right .login-inner {max-width:470px; width:100%; margin:0 auto;}
.login-page .form .group {margin-bottom:var(--space-15);}
.login-page .form .input {display:block; width:100%; height:var(--inq-size-60); padding:0 var(--space-20); border:1px solid #ddd; border-radius:var(--radius-8); font-size:var(--font-size-16); color:var(--color-bk);}
.login-page .form .input::placeholder {color:#999;}
.login-page .links {font-weight:600; display:flex; justify-content:space-between; align-items:center; margin-top:var(--space-15); margin-bottom:var(--space-25); font-size:var(--font-size-14); color:var(--color-bk);}
.login-page .links .checkbox label {cursor:pointer;}
.login-page .links .link {display:flex; align-items:center; gap:var(--space-10);}
.login-page .links .link a {color:var(--color-bk);}
.login-page .links .bar {color:#ddd;}
.login-page .btn-login {display:block; width:100%; height:var(--inq-size-64); margin-bottom:var(--space-15); background:#121212; color:#fff; border:none; border-radius:var(--radius-8); font-size:var(--font-size-18); font-weight:700; cursor:pointer;}
.login-page .btn-join {display:flex; align-items:center; justify-content:center; width:100%; height:var(--inq-size-64); border:1px solid #121212; border-radius:var(--radius-8); color:var(--color-bk); font-size:var(--font-size-18); font-weight:700;}
.login-page .support {margin-top:var(--space-40); text-align:center; font-size:var(--font-size-15); color:#121212; line-height:1.6;}
.login-page .support .support-tit {font-size:var(--font-size-16); margin-bottom:10px; font-weight:600; color:#A8A8A8; margin-bottom:var(--space-10);}
.login-page .support p:last-child {margin-bottom:0;}

/* 로그인 (기존 탭형) */
.login-area {max-width:470px; margin:0 auto;}
.login-tab {text-align:center; border-bottom:4px solid var(--color-primary); margin-bottom:50px;}
.login-tab ul {display:flex; padding:0 2px;}
.login-tab ul li {flex:1; border:4px solid #dfdfdf; border-bottom:0; margin:0 -2px; border-radius:10px 10px 0 0;}
.login-tab ul li a {display:block; color:#333; font-size:var(--font-size-18); font-weight:500; line-height:var(--inq-size-60);}
.login-tab ul li.active {position:relative; z-index:2; border-color:var(--color-primary);}
.login-tab ul li.active:after {content:""; position:absolute; left:0; right:0; bottom:-4px; height:4px; background:#fff;}
.login-tab ul li.active a {color:var(--color-primary); font-weight:700;}
.login-content .group {margin-bottom:8px;}
.login-content .group .input {display:block; width:100%; height:54px; font-size:16px;}
.login-content .links {display:flex; justify-content:space-between; margin-top:14px; font-size:14px; color:#505050; font-weight:500; line-height:1.5em;}
.login-content .links a:hover {text-decoration:underline;}
.login-content .links .bar {display:inline-block; vertical-align:middle; margin:-.2em 12px 0; width:1px; height:16px; background:#ddd;}
.login-content .btn-pack {display:block; width:100%; margin-top:10px;}
.login-content .btn-pack.focus {margin-top:20px;}
.login-content .btn-pack.xlarge {font-weight:500;}

.sns-login {text-align:center; margin-top:var(--space-50);}
.sns-login .tit {position:relative; color:#333; font-size:15px; font-weight:400; line-height:1.3em; margin-bottom:35px;}
.sns-login .tit:before {content:""; position:absolute; top:50%; left:0; margin-top:-1px; width:100%; height:1px; background:#ddd;}
.sns-login .tit span {display:inline-block; position:relative; padding:0 30px; background:#fff;}
.sns-login a {margin:0 12px;}

/* 약관동의 */
.agree-wrap {max-width:1000px; margin:0 auto;}
.agree-wrap .group {margin-top:var(--space-40);}
.agree-wrap .group:first-child {margin-top:0;}
.agree-wrap .agree-tit {color:#fff; font-size:var(--font-size-20); font-weight:600; line-height:1.3em;}
.agree-wrap .agree-tit .checkbox label:before {margin-top:-.02em; width:24px; height:24px; background:url("../images/member/checkbox.png") 50% 50% no-repeat; border:2px solid #ccc; border-radius:100%;}
.agree-wrap .agree-tit .checkbox input:checked + label:before {background-color:var(--color-primary); border-color:var(--color-primary); background-image:url("/images/member/checkbox_on.png");}
.agree-wrap .agree-box {border-radius:16px; color:#ccc; background:#1c1c1c; position:relative; max-height:175px; margin-top:17px; padding:16px 20px; overflow:auto;}
.agree-wrap .agree-box .terms-wrap {color:#ccc;}
.agree-wrap .agree-box .terms-wrap .sec {margin-bottom:var(--space-20);}
.agree-wrap .agree-box .terms-wrap .sec h3 {color:#ccc; font-size:16px; font-weight:400; margin-bottom:0;}
.agree-wrap .agree-box .terms-wrap .sec strong {font-weight:400;}
.agree-wrap .buttons {margin:var(--space-80) 0 0; text-align:center;}
.agree-wrap .buttons .btn-pack {display:block; width:100%; max-width:136px; min-width:136px; margin:0 auto; padding:0; border-radius:50px; font-size:var(--font-size-20); font-weight:700;}

.member-buttons {margin-top:var(--space-80); text-align:center;}
.member-btn {padding:var(--space-15) var(--space-35); margin:0 5px; display:inline-block; cursor:pointer; border-radius:50px; font-size:var(--font-size-20); font-weight:700;}
.member-btn.focus {background-color:var(--color-primary); border:1px solid var(--color-primary); color:#fff;}
.member-btn.wh {color:#121212; background-color:#fff;}
.member-btn.bk {color:#fff; background-color:#121212;}

.terms-wrap {font-weight:400; color:#666; line-height:1.75em;}
.terms-wrap .sec {margin-bottom:var(--space-40);}
.terms-wrap .sec h3 {color:#222; font-size:1.1em; font-weight:700; margin-bottom:7px;}
.terms-wrap .sec p {margin-bottom:1em;}
.terms-wrap .sec strong {font-weight:700;}
.terms-wrap .sec ol li {padding-left:1em; text-indent:-1em;}
.terms-wrap .sec ol li ol li {padding-left:1.35em; text-indent:-1.35em;}
.terms-wrap .policy-contact {display:flex; padding:20px 0; background:#fafafa; border:1px solid #e5e5e5; margin-bottom:1em;}
.terms-wrap .policy-contact dl {flex:1; padding:0 20px; border-left:1px solid #e5e5e5;}
.terms-wrap .policy-contact dl:first-child {border-left:0;}
.terms-wrap .policy-contact dt {font-weight:500; color:#333; margin-bottom:12px;}

.join-page {max-width:1060px; margin:0 auto; padding:0 var(--contain-padding);}
.join-page .member-type {display:flex; gap:var(--space-10); margin-bottom:var(--space-100);}
.join-page .member-type .card {flex:1; display:flex; flex-direction:column; height:clamp(200px, calc( 288 / var(--inner) * 100vw ), 288px); justify-content:center; align-items:center; padding:var(--space-40); border-radius:var(--radius-16); background:#1C1C1C; cursor:pointer;}
.join-page .member-type .card .tit {font-size:var(--font-size-28); line-height:1.5em; font-weight:700; margin-bottom:var(--space-5);}
.join-page .member-type .card .sub {font-family:"Barlow Condensed", sans-serif; font-size:var(--font-size-24); font-weight:700; color:#676767; line-height:1.66em;}
.join-page .member-type .card .img {margin-top:var(--space-25);}
.join-page .member-type .card .img img {height:clamp(30px, calc( 80 / var(--inner) * 100vw ), 80px);}
.join-page .member-type .card:hover,
.join-page .member-type .card.on {background:#fff; color:var(--color-bk);}
.join-page .member-type .card:hover .sub,
.join-page .member-type .card.on .sub {color:#ccc;}

.mypage-cont .join-page {max-width:100%; padding:0;}

.join-page .form-sect .cont {border-top:1px solid #2c2c2c;}
.join-page .form-sect .cont-tit {border-bottom:1px solid #2c2c2c; padding-bottom:var(--space-50);}
.join-page .form-sect .cont-tit .tit {font-size:var(--font-size-32); font-weight:700; color:#fff;}
.join-page .form-sect .form-note {font-size:var(--font-size-14); color:rgba(255,255,255,0.7); margin-bottom:var(--space-25);}
.join-page .form-sect .required {color:var(--color-primary);}
.join-page .form-sect .row-group {padding:var(--space-50) 0; display:grid; gap:var(--space-40); border-bottom:1px solid #2C2C2C;}
.join-page .form-sect .row {display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-15);}
.join-page .form-sect .row label,
.join-page .form-sect .row .label {flex:0 0 140px; font-size:var(--font-size-18); font-weight:600; color:#fff;}
.join-page .form-sect .input-wrap {flex:1 1 300px; min-width:0; display:flex; align-items:center; gap:var(--space-10);}
.join-page .form-sect .input-wrap .input {flex:1 1 auto; min-width:0; height:var(--inq-size-60); padding:0 var(--space-20); border:0; border-radius:var(--radius-8); background:#1C1C1C; color:#fff;}
.join-page .form-sect .input-wrap .input::placeholder {color:rgba(255,255,255,0.4);}
.join-page .form-sect .input-wrap .value {height:var(--inq-size-60); color:#fff; display:flex; align-items:center; flex:1;}
.join-page .form-sect .input-wrap .leave-btn a {color:#A8A8A8; border-radius:8px; display:flex; padding:8px 12px; justify-content:center; align-items:center; gap:10px; border:1px solid rgba(255, 255, 255, 0.12); background:#1C1C1C; font-size:14px; font-weight:500;  line-height:1.42em; letter-spacing:-.02em;}
.join-page .form-sect .item {margin-right: var(--space-25);}
.join-page .form-sect .checkbox label:before {border: 1px solid rgba(255, 255, 255, 0.24); background-color: #1C1C1C; border-radius:0;}
.join-page .checkbox input:checked + label:before {background-color:var(--color-primary);}
.join-page .form-sect.type2 .row-group {grid-template-columns: repeat(2, 1fr);}
.join-page .form-sect.type2 .row-x2 {grid-column:span 2;}

.join-page .form-sect .btn-dup {flex:0 0 auto; padding:0 var(--space-20); height:var(--inq-size-60); border-radius:var(--radius-8); background:#fff; color:#121212; font-weight:600; border:none; cursor:pointer;}
.join-page .form-sect .captcha-wrap {height:var(--inq-size-60); flex:1;}
.join-page .form-sect .captcha-wrap img {border-radius:var(--radius-8);}
.join-page .form-sect .captcha-wrap .input {flex:1 1 auto; min-width:0; height:var(--inq-size-60); padding:0 var(--space-20); border:0; border-radius:var(--radius-8); background:#1C1C1C; color:#fff;}
.join-page .form-sect .radiobox {display:inline-flex; align-items:center; margin-right:var(--space-20); color:#fff;}
.join-page .form-sect .radiobox label {flex:none; cursor:pointer; font-weight:400; color:#fff;}
.join-page .form-sect .radiobox label:before {background-color:unset; border-color:rgba(255, 255, 255, 0.24)}
.join-page .form-sect .radiobox input:checked + label:before {border-color:var(--color-primary);}

.join-page .form-sect .buttons {margin-top:var(--space-50); text-align:center;}
.join-page .form-sect .btn-submit {display:inline-block; padding:0 var(--space-80); height:54px; line-height:3em; border-radius:var(--radius-8); background:var(--color-primary); color:#fff; font-size:var(--font-size-18); font-weight:700; border:none; cursor:pointer;}
.join-page .member-type a.card {text-decoration:none; color:#fff;}

/* 멤버회원 전용:프로필 사진 행 */
.join-page .form-sect .row-photo .input-wrap {margin-bottom:0; display:block; flex:1;}
.join-page .row-photo .photo-wrap {gap:var(--space-25); margin-bottom:var(--space-25); display:flex; flex-wrap:wrap; align-items:center;}
.join-page .photo-upload {flex:0 0 100px; width:100px; height:100px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:var(--radius-8); position:relative;}
.join-page .photo-upload .img {border-radius:8px; margin:0; width:100%; height:100%; overflow:hidden;}
.join-page .photo-upload.has-photo .photo-placeholder {display:none;}
.join-page .photo-upload.has-photo .img .photo-preview {display:block;}
.join-page .photo-upload .photo-placeholder {font-size:var(--font-size-14); color:rgba(255,255,255,0.5);}
.join-page .photo-right {flex:1; min-width:0;}
.join-page .photo-notice-tit {font-size:var(--font-size-18); font-weight:600; line-height:1.5em; color:#fff; margin-bottom:var(--space-10);}
.join-page .photo-notice {font-size:var(--font-size-14); color:#878787; line-height:1.7;}
.join-page .file-select-wrap {display:flex; align-items:center; gap:6px; overflow:hidden;}
.join-page .file-select-wrap label.btn-file {white-space:nowrap; flex:0 0 100px; text-align:center; padding:0 var(--space-20); height:var(--inq-size-60); line-height:var(--inq-size-60); border-radius:var(--radius-8); background:#fff; color:#000; font-weight:600; cursor:pointer; border:none;}
.join-page .file-select-wrap label.file-desc {font-weight:400; flex:1; padding-left:var(--space-15); color:#A8A8A8; width:100%; height:var(--inq-size-60); background:#1C1C1C; line-height:var(--inq-size-60); border-radius:var(--radius-8); cursor:pointer;}

/* 회원가입 (기존 테이블형) */
.join-form {max-width:900px; margin:0 auto;}
.join-form .required {color:#fd8239}
.join-form .join-form-txt {color:#505050; font-weight:400; line-height:1.4em; margin-bottom:12px;}
.join-form table {width:100%; border-collapse:collapse; border-spacing:0px; border-top:2px solid #868686; font-size:16px; line-height:1.5em;}
.join-form table th {padding:12px 15px; border:1px solid #ddd; background:#fafafa; font-weight:700; color:#333;}
.join-form table td {padding:12px 20px; border:1px solid #ddd; color:#505050;}
.join-form tr th:first-child,
.join-form tr td:first-child {border-left:0;}
.join-form tr th:last-child,
.join-form tr td:last-child {border-right:0;}
.join-form input[readonly] {background-color:#fff; color:#505050;}
.join-form .help-text {display:inline-block; margin-left:10px; color:#767676;}
.join-form + .buttons {margin-top:50px;}

/* 가입완료 (다크 테마) */
.join-complete-wrap .join-complete {text-align:center; max-width:480px; margin:0 auto;}
.join-complete-wrap .icon {width:80px; height:80px; margin:0 auto var(--space-50); border-radius:50%; position:relative; background-image:url('/images/member/join_complete.png'); background-position: 50% 50%; background-repeat: no-repeat; background-size: contain;}
.join-complete-wrap .tit {font-size:var(--font-size-32); font-weight:700; line-height:1.4; margin-bottom:var(--space-30); color:#878787;}
.join-complete-wrap .tit span {color:#fff;}
.join-complete-wrap .txt {font-size:var(--font-size-18); color:#fff; line-height:1.66em; letter-spacing:-0.02em;}

/* 게정찾기 */
.find-area {max-width:470px; margin:0 auto;}
.find-tab {text-align:center; border-bottom:4px solid var(--color-bk); margin-bottom:var(--space-30);}
.find-tab ul {display:flex; padding:0 2px;}
.find-tab ul li {flex:1; border:4px solid #dfdfdf; border-bottom:0; margin:0 -2px; border-radius:10px 10px 0 0;}
.find-tab ul li a {display:block; color:#333; font-size:var(--font-size-18); font-weight:500; line-height:var(--inq-size-60);}
.find-tab ul li.active {position:relative; z-index:2; border-color:var(--color-bk);}
.find-tab ul li.active:after {content:""; position:absolute; left:0; right:0; bottom:-4px; height:4px; background:#fff;}
.find-tab ul li.active a {color:var(--color-bk); font-weight:700;}
.find-content .group {margin-bottom:8px;}
.find-content .group .input {display:block; width:100%; height:var(--inq-size-64); font-size:var(--font-size-16);}
.find-content .btn-pack {height:var(--inq-size-64); display:block; width:100%; margin-bottom:var(--space-15); background:#121212; color:#fff; border:none; border-radius:var(--radius-8); font-size:var(--font-size-18); font-weight:700; cursor:pointer;}
.find-content .btn-pack.focus {margin:var(--space-30) 0 0;}
.find-result {text-align:center; padding:var(--space-35) var(--space-40); color:#505050; font-size:var(--font-size-18); font-weight:400; line-height:1.75em; background:#fafafa; border-top:2px solid var(--color-bk); border-bottom:1px solid #ddd;}
.find-result h4 {font-size:var(--font-size-22); font-weight:700; line-height:1.4em; margin-bottom:20px; color:#121212;}
.find-result p:first-child {margin-bottom:10px;}
.find-result .name {color:var(--color-bk); font-size:var(--font-size-30); font-weight:700; line-height:1.5em;}

/* 회원탈퇴 */
.member-leave .txt {text-align:center; color:#fff; line-height:1.7em; margin-bottom:var(--space-40);}
.member-leave .txt .tit {color:#fff; font-size:var(--font-size-20); line-height:1.5em; margin-bottom:var(--space-15);}
.member-leave .form {max-width:470px; margin:0 auto var(--space-40); padding:var(--space-50); color:#666; font-size:var(--font-size-16); line-height:1.5em; background:#f9f9f9; border:1px solid #e5e5e5; border-radius:10px;}
.member-leave .form .group {display:flex; align-items:center; margin-bottom:var(--space-20);}
.member-leave .form .group:last-child {margin-bottom:0;}
.member-leave .form .group .label-tt {width:90px; color:#222; font-weight:700;}
.member-leave .form .group .text-id,
.member-leave .form .group .input {flex:1 1 auto; min-width:0; width:1%;}

/* 마이페이지 게이트 (대시보드) */
.mypage-gate .mypage-layout {display:flex;}
.mypage-gate .mypage-lnb {flex:0 0 300px; margin-right: var(--space-100); top:100px; position:-webkit-sticky; position:sticky; left:0; block-size:fit-content;}
.mypage-gate .lnb-sec {padding:var(--space-30) var(--space-35); margin-bottom:var(--space-10); border-radius:var(--radius-24); background:rgba(33, 33, 36, 0.95); }
.mypage-gate .lnb-sec:last-child {margin-bottom:0; background:unset;}
.mypage-gate .lnb-tit {font-size:var(--font-size-20); line-height:1.7em; font-weight:700; color:#fff; margin-bottom:var(--space-25);}
.mypage-gate .lnb-sec .list {display:grid; gap:10px;}
.mypage-gate .lnb-sec .list a {color:#a8a8a8; font-weight:700; line-height:1.5; display:block; position:relative;}
.mypage-gate .lnb-sec .list a:after {width:20px; height:12px; margin-right:10px; transition:all 0.2s ease-in-out; opacity:0; position:absolute; content:''; top:50%; transform:translateY(-50%); right:0; background-image:url('/images/member/mypage-menu-on.png');}
.mypage-gate .lnb-sec .list li:hover a,
.mypage-gate .lnb-sec .list li.on a {color:#fff;}
.mypage-gate .lnb-sec .list li.on a:after,
.mypage-gate .lnb-sec .list li:hover a:after {opacity:1; margin-right:0; transition:all 0.2s ease-in-out;}
.mypage-gate .mypage-cont {flex:1 1 auto; min-width:0;}
.mypage-gate .user-greeting {font-size:var(--font-size-32); font-weight:700; letter-spacing:-0.02em; line-height:1.43em; margin-bottom:var(--space-50); color:#878787;}
.mypage-gate .user-greeting .name {color:#fff;}
.mypage-gate .member-type-badge {display:flex; align-items:center; gap:var(--space-30); margin-bottom:var(--space-120);}
.mypage-gate .member-type-badge .img {margin:0; width:80px; height:80px;}
.mypage-gate .member-type-badge .img img {display:block; width:100%; height:100%; object-fit:contain;}
.mypage-gate .member-type-badge .tit {display:block; font-size:var(--font-size-24); font-weight:700; color:#fff;}
.mypage-gate .member-type-badge .sub {display:block; font-size:var(--font-size-20); font-weight:700; color:676767; font-family:"Barlow Condensed",sans-serif;}
.mypage-gate .sec-week {margin-bottom:var(--space-120);}
.mypage-gate .cont-tit {padding-bottom:var(--space-70);}
.mypage-gate .sec-week .cont-tit {border-bottom:0;}
.mypage-gate .cont-tit .tit {font-size:var(--font-size-32); font-weight:700; color:#fff;}
.mypage-gate .week-cal {display:grid; grid-template-columns:repeat(7, 1fr); grid-template-rows:auto auto; gap:var(--space-5) var(--space-10); margin-bottom:var(--space-25); align-items:stretch;}

.mypage-gate .week-cal .day-name {display:flex; justify-content:flex-start; align-items:flex-start; font-family:"Barlow Condensed",sans-serif; font-size:var(--font-size-20); font-weight:600; line-height:1.7em; color:#fff;}
.mypage-gate .week-cal .day.sun .day-name {color:#F33A3A;}
.mypage-gate .week-cal .day-cell {padding-top:var(--space-15); border-top:2px solid var(--color-bk); display:flex; flex-direction:column; gap:var(--space-15);}
.mypage-gate .week-cal .day-num {font-family:"Barlow Condensed",sans-serif; font-size:var(--font-size-60); font-weight:600; line-height:1.13em; color:#fff;}
.mypage-gate .week-cal .day.sun .day-num {color:#F33A3A;}
.mypage-gate .week-cal .day.sat .day-num {color:#2C80FF;}
.mypage-gate .week-cal .day.inactive .day-num {color:#505050;}
.mypage-gate .week-cal .day-activities {margin:0; padding:0; list-style:none; display:flex; flex-direction:column; gap:var(--space-10);}
.mypage-gate .week-cal .day-activities .item {display:flex; align-items:flex-start; gap:var(--space-10); font-size:var(--font-size-16); font-weight:500; line-height:1.5em; color:#fff;}
.mypage-gate .week-cal .day-activities .item::before {content:""; flex:0 0 8px; width:8px; height:8px; margin-top:var(--space-10); border-radius:500px; background:var(--color-primary);}
.mypage-gate .week-cal .day-activities .item a {color:#A8A8A8; text-decoration:underline;}
.mypage-gate .week-cal .day-activities .item a:hover {color:#fff;}
.mypage-gate .week-activities {margin:0; padding-left:var(--space-20); list-style:disc;}
.mypage-gate .week-activities .item {margin-bottom:var(--space-10); font-size:var(--font-size-14); color:rgba(255,255,255,0.7); line-height:1.5;}
.mypage-gate .week-activities .day-label {margin-right:var(--space-10); font-weight:600; color:#fff;}

.program-list {border-top:1px solid #2C2C2C; display:flex; flex-direction:column;}
.program-list .card {display:flex; align-items:center; justify-content:flex-start; gap:var(--space-60); padding:var(--space-50) var(--space-35); border-top:1px solid #2C2C2C;}
.program-list .card:first-child {border-top:0;}
.program-list .card .cont {flex:1 1 0; min-width:0; display:flex; flex-direction:column; align-items:flex-start;}
.program-list .card .tags {margin-bottom:var(--space-20);}
.program-list .card .tit {margin-bottom:4px;}
.program-list .tags {display:inline-flex; align-items:center; gap:6px; flex-wrap:wrap;}
.program-list .tag {padding:6px 8px; border-radius:4px; font-size:var(--font-size-14); font-weight:600; line-height:1.14em; color:#fff;}
.program-list .tag.primary {background:var(--color-primary); color:#fff;}
.program-list .tag.secondary {background:#fff; color:var(--color-primary);}
.program-list .tit {font-size:var(--font-size-28); font-weight:700; color:#fff; line-height:1.5em;}
.program-list .time {font-size:var(--font-size-24); font-family:"Barlow Condensed",sans-serif; font-weight:600; line-height:1.67em; color:#878787;}
.program-list .meta {align-self:stretch; display:flex; align-items:flex-start; justify-content:space-between; gap:6px;}
.program-list .instr {display:flex; align-items:center; gap:6px; margin:0; font-size:var(--font-size-22); font-weight:700; line-height:1.64em; color:#878787;}
.program-list .instr .name {color:#fff;}
.program-list .price {display:flex; align-items:center; gap:6px; margin:0; font-size:var(--font-size-22); font-weight:700; line-height:1.64em;}
.program-list .price .unit:first-child {color:#878787;}
.program-list .price .num,
.program-list .price .unit:last-child {color:#fff;}
.program-list .btns {align-self:stretch; display:flex; flex-direction:column; flex-shrink:0; gap:6px;}
.program-list .btn {flex:1 1 0; display:flex; align-items:center; justify-content:center; min-height:0; padding:0 var(--space-25); border-radius:var(--radius-8); font-size:var(--font-size-16); font-weight:700; line-height:1.5em; text-decoration:none;}
.program-list .btn.outline {background:transparent; border:none; outline:2px solid #505050; outline-offset:-2px; color:#E7E7E7;}
.program-list .btn.dark {background:#2c2c2c; color:#fff;}
.program-list .btn.primary {background:var(--color-primary); color:#fff;}
.program-list .card:hover {background:#fff;}
.program-list .card:hover .tag.secondary {background:#121212; color:#fff;}
.program-list .card:hover .tit {color:#2c2c2c;}
.program-list .card:hover .time {color:#a8a8a8;}
.program-list .card:hover .instr {color:#a8a8a8;}
.program-list .card:hover .instr .name {color:#2c2c2c;}
.program-list .card:hover .price .unit:first-child {color:#a8a8a8;}
.program-list .card:hover .price .num, .mypage-gate .program-list .card:hover .price .unit:last-child {color:#2c2c2c;}
.program-list .card:hover .btn.outline {outline-color:#eeeeee; color:#676767;}
.program-list .card:hover .btn.dark {background:var(--color-primary); color:#fff;}

/* 장바구니 하단 요약바 (mypage-gate 내 cart-summary) */
.mypage-gate .cart-summary {margin-top:var(--space-80); padding:var(--space-25) var(--space-30); background:#1C1C1C; border-radius:var(--radius-16); justify-content:space-between; align-items:center; display:flex;}
.mypage-gate .cart-summary .txt {font-size:var(--font-size-20); font-weight:700; line-height:1.7; margin:0;}
.mypage-gate .cart-summary .txt .muted {color:#878787;}
.mypage-gate .cart-summary .txt .num {color:#fff;}
.mypage-gate .cart-summary .right {justify-content:flex-start; align-items:center; gap:var(--space-25); display:flex;}
.mypage-gate .cart-summary .price-wrap {justify-content:flex-start; align-items:center; gap:var(--space-10); display:flex;}
.mypage-gate .cart-summary .price-wrap .label {color:#878787; font-size:var(--font-size-16); font-weight:700; line-height:1.5;}
.mypage-gate .cart-summary .price-wrap .amount {color:#fff; font-size:var(--font-size-24); font-weight:700; line-height:1.58; text-align:center;}
.mypage-gate .cart-summary .btn-wrap {justify-content:flex-start; align-items:center; gap:6px; display:flex;}
.mypage-gate .cart-summary .btn {padding:14px var(--space-25); border-radius:var(--radius-8); justify-content:center; align-items:center; display:inline-flex; font-size:var(--font-size-16); font-weight:700; line-height:1.5; text-align:center; text-decoration:none;}
.mypage-gate .cart-summary .btn.primary {background:var(--color-primary); color:#fff;}
.mypage-gate .cart-summary .btn.wh {background:#fff; color:#121212; border:none;}

/* 참가신청 현황 - 필터/툴바 (appl-status) */
.appl-status .appl-toolbar {align-self:stretch; justify-content:space-between; align-items:center; display:flex; margin-bottom:var(--space-50);}
.appl-status .appl-toolbar .schedule {justify-content:flex-start; align-items:center; gap:var(--space-25); display:flex;}
.appl-status .appl-toolbar .schedule .label {color:#fff; font-size:var(--font-size-16); font-weight:700; line-height:1.5em;}
.appl-status .appl-toolbar .date-pills {justify-content:flex-start; align-items:center; gap:8px; display:flex;}
.appl-status .appl-toolbar .date-pills .pill {padding:12px var(--space-25) 14px; background:rgba(255,255,255,0.08); border-radius:500px; border:none; justify-content:flex-start; align-items:center; display:flex; color:#fff; font-size:var(--font-size-24); font-weight:600; line-height:1.42em; font-family:"Barlow Condensed",sans-serif; cursor:pointer;}
.appl-status .appl-toolbar .date-pills .pill.on {background:#fff; color:#121212;}
.appl-status .appl-toolbar .search {align-items:center; gap:var(--space-25); display:flex;}
.appl-status .appl-toolbar .search .label {color:#fff; font-size:var(--font-size-16); font-weight:700; line-height:1.5em;}
.appl-status .appl-toolbar .search .input-wrap {width:320px; height:var(--inq-size-60); padding:0 var(--space-20); background:#2C2C2C; border-radius:var(--radius-8); outline:1px solid rgba(255,255,255,0.12); outline-offset:-1px; justify-content:space-between; align-items:center; display:flex;}
.appl-status .appl-toolbar .search .input {padding:0; flex:1 1 auto; min-width:0; border:0; background:transparent; color:#fff; font-size:var(--font-size-16); line-height:1.5em;}
.appl-status .appl-toolbar .search .input::placeholder {color:#A8A8A8;}
.appl-status .appl-toolbar .search .search-btn {display:flex; border:0; background-color:unset;}

/* 강의 현황 (lecture-status) - appl-status 확장 */
.lecture-status .date-tabs .btn.on {background:#fff; color:var(--color-bk);}
.lecture-status .class-list .tag.status {background:rgba(255,255,255,0.5); color:var(--color-bk);}
.lecture-status .class-list .tag.type.secondary {background:#27ae60; color:#fff;}
.lecture-status .class-list .participants {font-size:var(--font-size-14); color:rgba(255,255,255,0.7); line-height:1.5; width:100%;}
.lecture-status .class-list .card.done {opacity:0.6;}
.lecture-status .class-list .card.done .tit,
.lecture-status .class-list .card.done .desc,
.lecture-status .class-list .card.done .time,
.lecture-status .class-list .card.done .participants,
.lecture-status .class-list .card.done .tag {color:rgba(255,255,255,0.5);}
.lecture-status .class-list .card.done .tag.type.primary,
.lecture-status .class-list .card.done .tag.type.secondary {background:rgba(255,255,255,0.2); color:rgba(255,255,255,0.6);}
.lecture-status .pagination .num.on {background:#fff; color:var(--color-bk);}

/* 장바구니 상단 전체선택 (cart-all-select) */
.appl-status .all-select {margin-bottom:var(--space-25); display:flex; gap:var(--space-30); color:#fff;}
.appl-status .all-select .itm {display:flex; gap:8px; align-items:center; font-weight:700;}

/* 장바구니 (cart-page) - appl-status 확장 */
.cart-page .cart-toolbar {display:flex; align-items:center; justify-content:space-between; margin-bottom:var(--space-30); padding-bottom:var(--space-20); border-bottom:1px solid rgba(255,255,255,0.15);}
.cart-page .cart-toolbar .chk-wrap {display:inline-flex; align-items:center; gap:var(--space-10); font-size:var(--font-size-16); color:rgba(255,255,255,0.9); cursor:pointer;}
.cart-page .cart-toolbar .chk-wrap input {accent-color:var(--color-primary);}
.cart-page .cart-toolbar .btn-del {padding:0 var(--space-20); height:40px; border-radius:var(--radius-8); background:transparent; border:none; color:rgba(255,255,255,0.7); font-size:var(--font-size-14); cursor:pointer;}
.cart-page .cart-toolbar .btn-del::before {content:"×"; margin-right:var(--space-5); font-size:var(--font-size-18);}
.cart-page .cart-list {display:flex; flex-direction:column; gap:var(--space-20); margin-bottom:var(--space-40); list-style:none; padding:0;}
.cart-page .cart-list .card {display:flex; align-items:flex-start; gap:var(--space-20); padding:var(--space-30); border-radius:var(--radius-16); background:#282828;}
.cart-page .cart-list .chk-wrap {flex-shrink:0; display:flex; align-items:center; padding-top:var(--space-5);}
.cart-page .cart-list .chk-wrap input {accent-color:var(--color-primary); cursor:pointer;}
.cart-page .cart-list .cont {flex:1 1 auto; min-width:0;}
.cart-page .cart-list .tags {display:flex; flex-wrap:wrap; gap:var(--space-10); margin-bottom:var(--space-10);}
.cart-page .cart-list .tag {padding:var(--space-5) var(--space-15); border-radius:var(--radius-8); font-size:var(--font-size-14); font-weight:500; color:#fff;}
.cart-page .cart-list .tag.primary {background:var(--color-primary);}
.cart-page .cart-list .tag.secondary {background:rgba(255,255,255,0.15); border:1px solid rgba(255,255,255,0.25);}
.cart-page .cart-list .tit {font-size:var(--font-size-20); font-weight:700; color:#fff; line-height:1.4; margin-bottom:var(--space-10);}
.cart-page .cart-list .desc,
.cart-page .cart-list .time {font-size:var(--font-size-14); color:rgba(255,255,255,0.7); line-height:1.5; margin-bottom:var(--space-5);}
.cart-page .cart-list .meta {display:flex; align-items:center; justify-content:space-between; gap:var(--space-15); margin-top:var(--space-10);}
.cart-page .cart-list .meta .instr {font-size:var(--font-size-14); color:rgba(255,255,255,0.7); margin:0;}
.cart-page .cart-list .meta .price {font-size:var(--font-size-16); font-weight:700; color:#fff; margin:0;}
.cart-page .cart-list .btns {display:flex; flex-direction:column; flex-shrink:0; gap:var(--space-10);}
.cart-page .cart-list .btn {display:inline-flex; align-items:center; justify-content:center; min-width:100px; padding:var(--space-10) var(--space-25); border-radius:var(--radius-8); font-size:var(--font-size-14); font-weight:600; color:#fff; text-decoration:none;}
.cart-page .cart-list .btn.dark {background:#3a3a3d;}
.cart-page .cart-list .btn.primary {background:var(--color-primary);}
.cart-page .cart-summary {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-20); padding:var(--space-30); border-radius:var(--radius-16); background:#282828;}
.cart-page .cart-summary .total-txt {font-size:var(--font-size-16); color:rgba(255,255,255,0.8);}
.cart-page .cart-summary .total-price {font-size:var(--font-size-20); font-weight:700; color:#fff;}
.cart-page .cart-summary .btns {display:flex; gap:var(--space-10);}
.cart-page .cart-summary .btn {display:inline-flex; align-items:center; justify-content:center; padding:0 var(--space-30); height:48px; border-radius:var(--radius-8); font-size:var(--font-size-16); font-weight:600; border:none; cursor:pointer;}
.cart-page .cart-summary .btn.primary {background:var(--color-primary); color:#fff;}
.cart-page .cart-summary .btn.dark {background:var(--color-bk); color:#fff;}