@charset "utf-8";

.mypage-aside {flex: 0 0 240px;}
.mypage-content {flex: 1 1 auto; min-width: 0;}

.mypage-nav-box {padding: var(--fs-16); border: 1px solid var(--color-gray3); border-radius: var(--radius); background-color: var(--color-white);}
.mypage-nav-group + .mypage-nav-group,
.mypage-nav-foot {margin-top: var(--fs-20); padding-top: var(--fs-20); border-top: 1px solid var(--color-gray3);}
.mypage-nav-tit {min-height: 44px; padding-inline: var(--fs-12); margin-bottom: 4px; line-height: 44px; color: var(--color-gray9); font-weight: 500;}
.mypage-nav-link,
.mypage-logout-btn {display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; min-height: 44px; padding-inline: var(--fs-12); border-radius: var(--radius); color: var(--color-gray6); font-weight: 500; transition: color 0.2s, background-color 0.2s;}
.mypage-nav-link:hover {background-color: var(--color-gray1); color: var(--color-gray9);}
.mypage-logout-btn:hover {background-color: var(--color-lightred); color: var(--color-red);}
.mypage-nav-arrow {display: none;}

.mypage-login-box {display: none; margin-bottom: var(--fs-16); padding: var(--space-24); border: 1px solid var(--color-gray3); border-radius: var(--radius); background-color: var(--color-white);}
.mypage-login-txt {margin-bottom: 8px; color: var(--color-gray6);}
.mypage-login-link {display: flex; align-items: center; gap: 8px; min-height: 44px; color: var(--color-static1); font-weight: 500;}

.mypage-content-head {display: flex; align-items: center; gap: 8px; margin-bottom: var(--space-24);}
.mypage-back {display: none;}

.mypage-shop-list,
.mypage-event-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-40) var(--fs-20);}

.mypage-content .pagination {margin-top: var(--space-60);}
.mypage-more-btn {min-width: 200px; display: flex; width: fit-content; margin: var(--space-60) auto 0;}
 
/* 이벤트 */
.event-card {position: relative; display: flex; flex-direction: column; row-gap: 20px;}
.event-card .img-wrap {overflow: hidden; aspect-ratio: 4 / 3; border-radius: var(--radius);}
.event-card .img-wrap img {width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s;}
.event-card:hover .img-wrap img {transform: scale(1.05);}
.event-card .txt-wrap {display: flex; flex-direction: column; row-gap: 4px; padding-inline: 8px;}
.event-card .event-name {color: var(--color-gray9);}
.event-card .event-link::after {content: ''; position: absolute; inset: 0;}
.event-card .event-period {color: var(--color-gray6);}

/* 공지사항 */
.board-list-item {border-bottom: 1px solid var(--color-gray3);}
.board-list-link {display: flex; align-items: center; gap: 10px; padding: var(--fs-20); transition: color 0.2s;}
.board-list-link .board-cate {text-align: center; flex: none; width: 60px; font-weight: 500; color: var(--color-static1);}
.board-list-link .board-tit {overflow: hidden; flex: 1 1 auto; min-width: 0; white-space: nowrap; text-overflow: ellipsis; color: var(--color-gray8);}
.board-list-link .board-date {flex: none; color: var(--color-gray6);}
.board-list-link:hover .board-tit {color: var(--color-static1); text-decoration: underline; text-underline-offset: 4px;}

/* 게시물 상세 공통 */
.sub-section.board-view-section .inner {max-width: 1006px; row-gap: var(--space-40);}
.board-view-section .section-tit-wrap {text-align: center;}
.board-view {display: flex; flex-direction: column; row-gap: var(--space-30);}
.board-view-head {padding-bottom: var(--space-30); border-bottom: 1px solid var(--color-gray3);}
.board-view-tit {color: var(--color-gray9);}
.board-view-info {margin-top: 8px; color: var(--color-gray6);}
.board-view-body {color: var(--color-gray8);}
.board-view-body > * + * {margin-top: var(--fs-20);}
.board-view-body .dot-ul {row-gap: var(--fs-20);}
.board-view-body img {width: 100%; height: auto;}
.board-view-notice {padding: var(--fs-20); border-radius: var(--radius); background-color: var(--color-gray1);}
.board-view-notice .notice-tit {margin-bottom: var(--fs-12); color: var(--color-gray9);}
.board-view-notice .dot-ul {color: var(--color-gray8);}
.board-view-foot {display: flex; justify-content: center; padding-top: var(--space-60); border-top: 1px solid var(--color-gray3);}
.board-view-foot .square-btn {min-width: 200px;}

/* faq */
.faq-item .faq-q-txt {font-size: var(--fs-18);}

@media screen and (min-width: 769px) {
.mypage-nav-link[aria-current="page"] {background-color: var(--color-static3); color: var(--color-static1);}
}

@media screen and (max-width: 1280px) {
    .mypage-aside {flex-basis: 200px;}
}
 
@media screen and (max-width: 768px) {
    /* PC ↔ 모바일 분기선. 여기서 2단이 풀리고 한 화면에 하나만 남는다 */
    .mypage-section .inner.row {flex-direction: column; align-items: stretch;}
    .mypage-aside {flex: none;}
    .mypage-nav-arrow {display: block;}
    .mypage-login-box {display: block;}
    .mypage-back {display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-left: -10px;}
 
    .mypage-home .mypage-content {display: none;}
    .mypage-section:not(.mypage-home) .mypage-aside {display: none;}
    
    .mypage-shop-list,
    .mypage-event-list {grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-30) var(--fs-12);}

    .board-list-link {flex-wrap: wrap; gap: 4px var(--fs-12); padding-block: var(--fs-16);}
    .board-list-link .board-cate {width: auto; text-align: left;}
    .board-list-link .board-date {margin-left: auto;}
    .board-list-link .board-tit {order: 1; flex: 1 1 100%; white-space: normal;}
}