@charset "utf-8";

/* ========== member : 공통 ========== */
.member-wrap {box-sizing:border-box; width:min(100%, 471px); max-width:471px; margin:0 auto;}
.member-wrap.wide, .member-wrap--form {max-width:620px;}
.member-wrap--profile-form {width:100%; max-width:none; margin:0; padding:0 0 60px;}
.member-login-head {margin-bottom:40px; text-align:center;}
.member-login-title {margin:0; color:#242424; font-size:clamp(32px, 4vw, 40px); font-weight:800; line-height:1.2em; letter-spacing:-.02em;}
.member-login-desc {margin:0 0 40px; color:#686868; font-size:18px; font-weight:500; line-height:1.55em; letter-spacing:-.02em; text-align:center;}
.member-wrap--find {padding-top:0;}
.form-group {margin-bottom:0;}
.form-group .label-tt {display:block; margin-bottom:15px; color:var(--color-text-primary); font-weight:600; line-height:1em;}
.form-group .label-tt .req {color:var(--color-brand); display: inline-block; padding-left: 5px; }
.form-actions {margin-top:0;}
.form-links {display:flex; align-items:center; justify-content:center; gap:10px; color:#454545; font-size:14px;}
.form-links a:hover {color:var(--color-brand); text-decoration:underline;}
.form-links .bar {width:1px; height:12px; background:#ddd;}

/* ========== member : 로그인 · 찾기 ========== */
.member-wrap--login {padding:0 0 60px;}
.member-wrap--login fieldset {display:flex; flex-direction:column; gap:24px; margin:0; padding:0; border:0; min-width:0;}
.member-wrap--login .input-wrap {position:relative;}
.member-wrap--login .input {width:100%; height:64px; padding:0 20px; border:1px solid #ddd; border-radius:8px; background:#fff; font-size:16px;}
.member-wrap--login .input:focus {border-color:var(--color-brand); outline:none;}
.btn-login-submit {display:inline-flex; align-items:center; justify-content:center; width:100%; height:64px; padding:0 28px; border:0; border-radius:8px; background:#242424; color:#fff; font-family:'Pretendard', sans-serif; font-weight:600; line-height:1em; letter-spacing:-.02em; cursor:pointer;}
.btn-login-submit:hover, .btn-login-submit:focus-visible {background:#111;}
.member-login-utils {display:flex; align-items:center; justify-content:space-between; gap:16px;}
.login-save-id {display:inline-flex; align-items:center; gap:10px; cursor:pointer;}
.login-save-id input {position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0, 0, 0, 0); border:0;}
.login-save-id .login-check {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:18px; height:18px; border:1px solid #ddd; background:#fff;}
.login-save-id input:checked + .login-check {border:0; background:var(--color-brand);}
.login-save-id input:not(:checked) + .login-check img {display:none;}
.login-save-id__text {color:#454545; font-size:14px; line-height:1em;}
.member-wrap--login .form-links--login {justify-content:flex-end; flex-wrap:wrap; margin-top:0;}
.member-sns-login {padding-top:40px;}
.member-sns-login__title {position:relative; margin:0 0 28px; text-align:center;}
.member-sns-login__title:before {content:""; position:absolute; left:0; right:0; top:50%; height:1px; background:#ddd;}
.member-sns-login__title span {position:relative; display:inline-block; padding:0 16px; background:#fff; color:#333; font-size:15px; font-weight:400; line-height:1.3em;}
.member-sns-login__btns {display:flex; align-items:center; justify-content:center; gap:20px;}
.member-sns-circle {display:flex; align-items:center; justify-content:center; border-radius:50%; overflow:hidden; text-decoration:none; transition:opacity .2s var(--ease), transform .2s var(--ease);}
.member-sns-circle:hover {opacity:.92; transform:translateY(-1px);}
.member-sns-circle img {display:block;}
.member-find-result {display:flex; flex-direction:column; align-items:center; gap:10px; margin:0 0 40px; padding:32px 24px; border:1px solid #ddd; border-radius:12px; background:#f8f8f8;}
.member-find-result__id {margin:0; color:#242424; font-size:28px; font-weight:800; line-height:1.2em; letter-spacing:-.02em;}
.member-find-result__id .is-mask {color:var(--color-text-muted);}
.member-find-result__meta {margin:0; color:#686868; font-size:15px; line-height:1.5em;}
.member-join-foot--solo {margin-top:8px;}
.member-join-foot--solo .member-join-foot__text {gap:10px;}
.member-join-foot--solo .bar {display:inline-block; width:1px; height:12px; background:#ddd;}

/* ========== member : 회원가입 ========== */
.member-wrap--join { padding-bottom: 60px; }
.member-join-actions {display:flex; flex-direction:column; gap:24px;}
.member-sns-login--join {display:flex; flex-direction:column; gap:10px; padding-top:0;}
.member-sns-btn {position:relative; display:flex; align-items:center; justify-content:center; gap:10px; width:100%; height:64px; border:1px solid #242424; border-radius:8px; background:#fff; color:#242424; font-size:18px; font-weight:500; line-height:1em; text-decoration:none; transition:background .2s var(--ease);}
.member-sns-btn:hover {background:#fafafa;}
.member-sns-btn__icon {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:32px; height:32px; border-radius:50%; overflow:hidden;}
.member-sns-btn__icon--kakao {background:#fee500;}
.member-sns-btn__icon img {display:block;}
/* .member-sns-btn__icon--kakao img {width:18px; height:17px;}
.member-sns-btn__icon--naver img {width:32px; height:32px;} */
.btn-join-email {display:inline-flex; align-items:center; justify-content:center; height:64px; padding:0 28px; border:0; border-radius:8px; background:#242424; color:#fff; font-weight:600; line-height:1em; letter-spacing:-.02em; text-decoration:none;}
.btn-join-email:hover, .btn-join-email:focus-visible {background:#111; color:#fff;}
.member-join-foot {display:flex; align-items:center; justify-content:center; gap:12px;}
.member-join-foot__line {flex:1; max-width:100px; height:1px; background:#d9d9d9;}
.member-join-foot__text {display:inline-flex; align-items:center; gap:12px; margin:0; color:#686868; font-size:15px; line-height:1em; white-space:nowrap;}
.member-join-foot__text a {color:#242424; font-weight:600; text-decoration:none;}
.member-join-foot__text a:hover {color:var(--color-brand);}
.member-wrap--complete {padding:0 0 60px;}
.member-join-complete {display:flex; flex-direction:column; align-items:center; width:100%; text-align:center;}
.member-join-complete__title {margin:0 0 28px; color:#242424; font-size:clamp(32px, 4vw, 40px); font-weight:800; line-height:1.2em; letter-spacing:-.02em;}
.member-join-complete__desc {margin:0 0 48px; max-width:504px; color:#242424; font-size:18px; line-height:1.55em; letter-spacing:-.02em;}
.member-join-complete__brand {font-weight:600; color:var(--color-brand);}
.member-join-complete__icon {margin:0 0 48px;}
.member-join-complete__icon-ring {display:flex; align-items:center; justify-content:center; width:130px; height:130px; border-radius:50%; background:color-mix(in srgb, var(--color-brand) 8%, #fff);}
.member-join-complete__icon-core {display:flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:var(--color-brand);}
.member-join-complete__icon-mark {display:block; width:36px; height:36px;}
.member-join-complete__actions {display:flex; flex-direction:column; gap:10px; width:100%;}
.member-join-complete__btn {display:inline-flex; align-items:center; justify-content:center; width:100%; height:64px; padding:0 28px; border-radius:8px; font-weight:600; line-height:1em; text-decoration:none; box-sizing:border-box; transition:border-color .2s var(--ease), background .2s var(--ease), color .2s var(--ease);}
.member-join-complete__btn--outline {border:1px solid #ddd; background:#fff; color:#454545;}
.member-join-complete__btn--outline:hover, .member-join-complete__btn--outline:focus-visible {border-color:#242424; color:#242424;}
.member-join-complete__btn--dark {border:0; background:#242424; color:#fff;}
.member-join-complete__btn--dark:hover, .member-join-complete__btn--dark:focus-visible {background:var(--grad-brand); color:#fff; box-shadow:0 4px 16px rgba(11, 98, 174, .2);}

/* ========== member : 약관동의 ========== */
.member-agree-form {display:flex; flex-direction:column; gap:40px;}
.member-agree-list {display:flex; flex-direction:column; gap:24px; margin:0; padding:0; list-style:none;}
.member-agree-item {margin:0;}
.member-agree-row-wrap {display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:64px; height:64px; padding:0 20px; border-radius:8px; background:#f8f8f8;}
.member-wrap--agree .member-agree-item--expand:has(.member-agree-row__req) .member-agree-row-wrap {background:rgba(11, 98, 174, .04);}
.member-agree-row {display:inline-flex; align-items:center; gap:10px; flex:1; min-width:0; cursor:pointer;}
.member-agree-row input {position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0, 0, 0, 0); border:0;}
.member-agree-check {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:24px; height:24px; border:1px solid #aaa; border-radius:50%; background:transparent;}
.member-agree-row input:checked + .member-agree-check {border-color:var(--color-brand); background:var(--color-brand);}
.member-agree-check__on {display:none;}
.member-agree-row input:checked + .member-agree-check .member-agree-check__on {display:block;}
.member-agree-row input:checked + .member-agree-check .member-agree-check__off {display:none;}
.member-agree-row__label {color:#242424; font-weight:500; line-height:1.2em;}
.member-agree-item--all .member-agree-row__label {font-size:18px; font-weight:600;}
.member-agree-row__req {color:var(--color-brand); font-weight:500;}
.member-agree-toggle {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; width:24px; height:24px; padding:0; border:0; background:transparent; cursor:pointer;}
.member-agree-toggle img {display:block; width:8px; height:14px; transition:transform .2s var(--ease);}
.member-agree-item.is-open .member-agree-toggle img {transform:rotate(90deg);}
.member-agree-panel {margin-top:10px;}
.member-agree-panel[hidden] {display:none;}
.member-agree-panel__inner {max-height:145px; padding:18px 15px 17px; overflow-y:auto; border:1px solid #ddd; border-radius:8px; background:#fff; color:#767676; font-size:14px; line-height:1.57em;}
.member-agree-panel__inner p {margin:0 0 6px;}
.member-agree-panel__inner a {color:var(--color-brand); text-decoration:underline;}

/* ========== mypage : 섹션 · 필터 · 표 ========== */
.mypage-section-head {margin-bottom:32px;}
.mypage-section-head--likes {display:flex; flex-direction:row; align-items:center; justify-content:space-between; gap:24px; margin-bottom:40px;}
.mypage-section-head--likes .mypage-section-title, .mypage-section-head--apply .mypage-section-title {margin:0;}
.mypage-section-title {margin:0 0 10px; color:#242424; font-size:clamp(32px, 4vw, 40px); font-weight:800; line-height:1.2em; letter-spacing:-.02em;}
.mypage-likes-filters {display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:8px; flex:1 1 auto;}
.archive-board__filters {display:flex; flex-wrap:wrap; align-items:center; gap:8px;}
.archive-board__filter {display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 22px; color:var(--color-text-secondary); font-size:15px; font-weight:600; line-height:2em; background:#f8f8f8; border:0; border-radius:999px; text-decoration:none; cursor:pointer; transition:background .2s var(--ease), color .2s var(--ease);}
.archive-board__filter:hover, .archive-board__filter:focus-visible {background:var(--color-text-primary); color:var(--color-text-invert); text-decoration:none; }
.archive-board__filter.is-active {background:var(--color-text-primary); color:var(--color-text-invert);}
.mypage-likes-table-wrap {overflow-x:auto; border-top:1px solid #242424;}
.mypage-likes-table {width:100%; min-width:720px; border-collapse:collapse; table-layout:fixed;}
.mypage-likes-table thead th {height:56px; padding:0 12px; box-sizing:border-box; background:color-mix(in srgb, var(--color-brand) 4%, #fff); border-bottom:1px solid #ddd; color:#242424; font-weight:700; line-height:1.4em; text-align:center; vertical-align:middle;}
.mypage-likes-table tbody td {padding:20px 12px; box-sizing:border-box; border-bottom:1px solid #eee; color:#242424; font-weight:400; line-height:1.55em; text-align:center; vertical-align:middle; word-break:keep-all;}
.mypage-likes-table tbody td.left {text-align:left;}
.mypage-likes-table__star {width:56px; text-align:center;}
.mypage-likes-table:not(.mypage-apply-table) .mypage-likes-table__title, .mypage-likes-table .mypage-likes-table__title.left {width:auto; font-weight:400; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.mypage-likes-table__category {width:auto;}
.mypage-likes-table__status-col {width:auto;}
.mypage-likes-table__action-col {width:auto;}
.mypage-likes-table__remove-col {width:56px; padding-left:4px; padding-right:4px;}
.mypage-likes-heart {display:inline-block; font-size:20px; line-height:1em; vertical-align:middle; color:var(--color-brand);}
.mypage-likes-heart .ico-on {color:var(--color-brand);}
.mypage-likes-table__btn {display:inline-flex; align-items:center; justify-content:center; min-width:72px; height:32px; padding:0 10px; background:#fff; border:1px solid #ddd; border-radius:4px; color:#242424; font-size:13px; font-weight:500; line-height:1em; text-decoration:none;}
.mypage-likes-table__btn:hover, .mypage-likes-table__btn:focus-visible {background:#242424; border-color:#242424; color:#fff;}
.mypage-likes-table__remove {display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; padding:0; background:transparent; border:0; color:#999; font-size:20px; line-height:1em; cursor:pointer;}
.mypage-likes-table__remove:hover {color:#242424;}
.saved-empty {padding:70px 0; text-align:center; color:var(--color-text-muted); font-size:15px;}
.mypage-apply-table th:nth-child(1), .mypage-apply-table td:nth-child(1) {width:48%;}
.mypage-apply-table__status {display:inline-flex; align-items:center; justify-content:center; min-width:64px; padding:4px 10px; border-radius:999px; font-size:13px; font-weight:700; line-height:1.2em;}
.mypage-apply-table__status.is-review {background:color-mix(in srgb, var(--color-cyan) 4%, #fff); color:var(--color-cyan);}
.mypage-apply-table__status.is-approved {background:color-mix(in srgb, #22A78C 4%, #fff); color:#22A78C;}
.mypage-apply-table__status.is-pending {background:color-mix(in srgb, var(--color-brand) 4%, #fff); color:var(--color-brand);}
.mypage-apply-table__status.is-rejected {background:color-mix(in srgb, #d64545 4%, #fff); color:#d64545;}

/* ========== mypage : 정보수정 · 탈퇴 ========== */
.mypage-profile, .mypage-withdraw {width:100%;}
.mypage-profile .member-login-title, .mypage-withdraw .member-login-title {text-align:left;}
.member-join-profile .member-login-title {text-align:center;}
.mypage-profile__section, .mypage-withdraw__section {margin-top:40px;}
.mypage-profile__section--password {margin-top:80px;}
.mypage-profile__panel-head, .mypage-withdraw__panel-head {display:flex; align-items:center;}
.mypage-profile__panel-title, .mypage-withdraw__panel-title {display:flex; align-items:center; gap:10px;}
.mypage-profile__panel-dot, .mypage-withdraw__panel-dot {flex-shrink:0; width:8px; height:8px; border-radius:4px; background:var(--color-brand);}
.mypage-profile__heading, .mypage-withdraw__heading {margin:0; color:var(--color-text-primary); font-size:22px; font-weight:700; line-height:1.35em;}
.mypage-profile-table, .mypage-withdraw-table {margin-top:24px; border-top:1px solid #242424;}
.mypage-profile-table__row, .mypage-withdraw-table__row {display:grid; grid-template-columns:180px minmax(0, 1fr); border-bottom:1px solid #ddd;}
.mypage-profile-table__th, .mypage-withdraw-table__th {display:flex; align-items:center; justify-content:center; gap:4px; padding:16px 24px; background:color-mix(in srgb, var(--color-brand) 4%, #fff); color:#242424; font-weight:700; line-height:1.4em; text-align:center;}
.mypage-profile-table__th .is-required, .mypage-withdraw-table__th .is-required {color:var(--color-brand);}
.mypage-profile-table__td, .mypage-withdraw-table__td {display:flex; align-items:center; padding:16px 24px; min-width:0;}
.mypage-profile__input, .mypage-withdraw__input {box-sizing:border-box; width:100%; min-height:48px; padding:12px 16px; border:1px solid #ddd; border-radius:8px; background:#fff; color:#242424; font-weight:500;}
.mypage-profile__input[readonly], .mypage-withdraw__input[readonly] {color:#686868; background:#fafafa;}
.mypage-profile__field {display:flex; flex-direction:column; gap:8px; width:100%; min-width:0;}
.mypage-profile__inline {display:flex; align-items:center; gap:8px; width:100%; min-width:0;}
.mypage-profile__inline .mypage-profile__input {flex:1 1 auto; width:auto;}
.mypage-profile__inline-btn {display:inline-flex; align-items:center; justify-content:center; flex-shrink:0; box-sizing:border-box; min-height:48px; padding:0 18px; border:1px solid #242424; border-radius:8px; background:#fff; color:#242424; font-size:15px; font-weight:600; line-height:1em; white-space:nowrap; cursor:pointer; transition:background .2s var(--ease), color .2s var(--ease);}
.mypage-profile__inline-btn:hover, .mypage-profile__inline-btn:focus-visible {background:#242424; color:#fff;}
.mypage-profile__help {margin:0; color:var(--color-brand); font-size:14px; line-height:1.5em; font-weight: 500; }
.mypage-profile__actions, .mypage-withdraw__actions {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:24px; margin-top:32px;}
.mypage-notice--box {padding:24px; border-radius:8px; background:#f8f8f8;}
.mypage-withdraw .mypage-notice--guide {margin-top:32px;}
.mypage-notice__head {display:flex; align-items:center; gap:8px; margin-bottom:16px;}
.mypage-notice__head img {display:block; width:20px; height:20px;}
.mypage-notice__head strong {color:#242424; font-weight:700;}
.mypage-notice__list {margin:0; padding:0; list-style:none;}
.mypage-notice__list li {position:relative; padding-left:20px; color:#686868; font-size:14px; line-height:1.6em;}
.mypage-notice__list li + li {margin-top:8px;}
.mypage-notice__list li:before {content:"※"; position:absolute; left:0; top:0; color:#686868;}
.mypage-withdraw__agree {display:inline-flex; align-items:center; gap:10px; margin:32px 0 0; color:#454545; font-weight:500; line-height:1.5em; cursor:pointer;}
.mypage-withdraw__agree input {width:18px; height:18px; margin:0; accent-color:var(--color-brand); margin-top: -.1em !important; margin-right: 0 !important;}
.cs-contact__btn[disabled] {opacity:.4; cursor:not-allowed;}

