@charset "utf-8";
/* 지점 안내 - 카드 · 검색 기본 모양은 common.css "지점" */

/* 지점 목록 */
.store-list-section {padding-block: var(--space-100);}
.store-list-section .store-list-top {display: flex; align-items: center; justify-content: space-between; column-gap: var(--space-40);}
.store-list-section .store-list-top .store-count {flex: none; color: var(--color-font2);}
.store-list-section .store-list-top .store-count strong {font-weight: inherit;}
.store-list-section .store-list-top .store-search {flex: 1 1 auto; max-width: 850px;}
.store-list-section .store-list {display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px 20px; margin-top: 30px;}
.store-list-section .store-list .store-item[hidden] {display: none;}
.store-list-section .empty-msg {margin-top: 30px;}
.store-list-section .store-more {display: flex; justify-content: center; margin-top: var(--space-40);}
.store-list-section .store-more .square-btn[hidden] {display: none;}
.store-list-section .store-more .square-btn img {width: 16px; height: 16px;}

/* 더보기 · 검색으로 새로 보이는 카드 - 살짝 올라오며 나타남 */
.store-list-section .store-item.is-new {animation: storeItemIn 0.9s var(--ease-out) both;}
@keyframes storeItemIn {from {opacity: 0; transform: translateY(24px);}}

/* 지점 상세 - 좌 카드 · 우 지도 (시안 488 : 998) */
.store-view-section {padding-block: var(--space-100);}
.store-view-section .store-view-wrap {display: grid; grid-template-columns: minmax(0, 488fr) minmax(0, 998fr); align-items: stretch; column-gap: var(--space-30);}
.main-store-section .store-card.view, .store-list-section .store-card.view, .store-view-section .store-card.view {padding: var(--space-30);}
.main-store-section .store-card.view .img-wrap, .store-list-section .store-card.view .img-wrap, .store-view-section .store-card.view .img-wrap {aspect-ratio: 427 / 289;}
.main-store-section .store-card.view .store-info, .store-list-section .store-card.view .store-info, .store-view-section .store-card.view .store-info {row-gap: 14px;}
.main-store-section .store-card.view .store-info > div, .store-list-section .store-card.view .store-info > div, .store-view-section .store-card.view .store-info > div {align-items: flex-start; justify-content: flex-start;}
.main-store-section .store-card.view .store-info dt, .store-list-section .store-card.view .store-info dt, .store-view-section .store-card.view .store-info dt {width: 110px; min-height: 1.6em;}   /* 내용 첫 줄과 가운데 맞춤 */
.main-store-section .store-card.view .store-info dd, .store-list-section .store-card.view .store-info dd, .store-view-section .store-card.view .store-info dd {text-align: left;}
.store-view-section .store-hours {display: flex; flex-direction: column; row-gap: 10px;}
.store-view-section .store-view-map {min-height: 400px; border-radius: var(--radius); overflow: hidden; background-color: var(--section-bg1);}
.store-view-section .store-view-map iframe {display: block; width: 100%; height: 100%; border: 0;}
.store-view-section .store-view-btn {display: flex; justify-content: center; margin-top: var(--space-60);}
.store-view-section .store-view-btn .square-btn img {width: 20px; height: 20px;}

@media (hover: hover) {
    .store-list-section .store-more .square-btn img {transition: transform 0.3s var(--ease-out);}
    .store-list-section .store-more .square-btn:hover img {transform: translateY(2px);}
}

@media screen and (max-width: 1024px) {
    .store-view-section .store-view-wrap {grid-template-columns: minmax(0, 1fr); row-gap: var(--space-30);}
    .store-view-section .store-view-map {aspect-ratio: 998 / 658; min-height: 0;}
    .store-list-section .store-list-top {flex-direction: column; align-items: stretch; row-gap: var(--space-16);}
    .store-list-section .store-list-top .store-search {max-width: none;}
    .store-list-section .store-list {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media screen and (max-width: 768px) {
    .main-store-section .store-card.view .store-info dt, .store-list-section .store-card.view .store-info dt, .store-view-section .store-card.view .store-info dt {width: 92px;}
    .store-list-section .store-list {grid-template-columns: minmax(0, 1fr); row-gap: var(--space-24);}
}
