/* =========================================
   [통합] 매장 정보 페이지 스타일 (1170px 기준)
   ========================================= */

/* --- 1. 기본 레이아웃 설정 --- */
html {
  /* 1170px일 때 1rem = 10px */
  font-size: 0.8547vw;
}

@media (min-width: 1170px) {
  html {
    font-size: 10px;
  }
}

body {
  margin: 0;
  font-size: 1.6rem;
  background-color: #fff;
  display: flex;
  justify-content: center;
  min-height: 100vh;
}

.store-wrap {
  width: 100%;
  max-width: 1170px;
  margin: 0 auto;
  background-color: #fff;
  padding-bottom: 10rem;
  position: relative;
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.1);
  min-height: 100vh;
}

/* --- 2. 헤더 --- */
.store-header {
  width: 100%;
  height: 18.5rem;
  display: flex;
  align-items: center;
  padding: 0 5.2rem;
  background-color: #fff;
}
.btn-back {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}
.btn-back img {
  width: 5.8rem;
  height: auto;
}
.store-header h1 {
  font-size: 5rem;
  font-weight: 700;
  margin-left: 4rem;
  color: #000;
}

/* --- 3. 지도 영역 --- */
.map-area {
  width: 100%;
  height: 71.5rem; /* 지도 높이 설정 */
  overflow: hidden;
}
.map-area img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* --- 4. [일반매장] 플로팅 상태 카드 (노란색) --- */
.status-card-container {
  padding: 7.4rem 10.3rem; /* 좌우 여백 */
  position: relative;
  z-index: 10;
}

.status-card {
  background-color: #ffca00;
  border-radius: 4rem;
  height: 26.6rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5rem;
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.25);
}

.status-left {
  display: flex;
  align-items: center;
  gap: 3rem;
}

.chair-icon-box {
  background-color: #fff;
  width: 13.2rem;
  height: 13.2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4rem;
}
.chair-icon-box img {
  /* width: 6rem; */
  height: auto;
}

.status-text {
  font-size: 4.5rem;
  font-weight: 700;
  color: #000;
}

.status-right {
  display: flex;
  gap: 3rem;
}

.btn-circle {
  width: 13.2rem;
  height: 13.2rem;
  border-radius: 4rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
}
.btn-circle.call {
  background-color: #ebad00;
} /* 진한 노랑 */
.btn-circle.chat {
  background-color: #ebad00;
}
.btn-circle img {
  width: 8.5rem;
  height: auto;
}

/* --- 5. [키친카] 스케줄 리스트 (가로 스크롤) --- */
.schedule-section {
  padding: 5rem 0 5rem 5.2rem; /* 오른쪽 패딩은 스크롤 위해 뺌 */
  margin-bottom: 3.9rem;
}
.schedule-title {
  font-size: 4.5rem;
  font-weight: 700;
  margin-bottom: 5.9rem;
}

.schedule-list {
  display: flex;
  gap: 4.8rem;
  overflow-y: visible; /* 가로 스크롤 */
  overflow-x: auto; /* 가로 스크롤 */
  padding-bottom: 4rem; /* 그림자 잘림 방지 */
  padding-right: 52rem; /* 끝부분 여백 */
  padding-top: 4rem;
}
/* 스크롤바 숨김 (선택사항) */
.schedule-list::-webkit-scrollbar {
  display: none;
}

.schedule-card {
  min-width: 40rem;
  height: 40rem;
  background-color: #aeaeae; /* 기본 회색 배경 */
  border-radius: 4.9rem;
  position: relative;
  overflow: hidden;
  color: #fff;
  flex-shrink: 0;
  width: 43.1rem;
  height: 49.9rem;
  transition: 0.3s;
  scroll-snap-align: start;
}

.schedule-bg-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 1;
}
/* 어두운 오버레이 (글자 잘 보이게) */
.schedule-card.has-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  z-index: 2;
}

/* 카드 내용 */
.sc-content {
  position: relative;
  z-index: 3;
  padding: 4rem;
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* 날짜 뱃지 */
.date-badge {
  background-color: #ffca00; /* 노란색 */
  color: #e8575b; /* 붉은 글씨 */
  width: 10.8rem;
  height: 10.8rem;
  border-radius: 2rem 2rem 2rem 0; /* 잎사귀 모양 */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 4.5rem;
  font-weight: 700;
  margin-bottom: 2rem;
  position: absolute;
  left: 0;
  top: 0;
}
/* 다른 요일 색상 */

.date-badge.yellow {
  background-color: #ffca00;
  color: #d14d28;
}

.sc-time {
  font-size: 4rem;
  margin-bottom: 1rem;
  position: absolute;
  right: 8.4rem;
  top: 3.6rem;
  text-align: right;
}
.sc-place {
  font-size: 4rem;
  font-weight: 700;
  margin-bottom: 4rem;
  line-height: 1.2;
  position: absolute;
  top: 11.5rem;
  right: 0;
  text-align: center;
  width: 100%;
}

.sc-address-box {
  position: absolute;
  top: 18.2rem;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  gap: 2.4rem;
  flex-direction: column;
  align-items: anchor-center;
}
.pin-icon {
  width: 8.7rem;
  height: auto;
  margin-top: 0.5rem;
}
.sc-addr {
  font-size: 3.5rem;
  line-height: 1.4;
}

/* --- 6. 매장 정보 텍스트 리스트 --- */
.info-list {
  padding: 4rem 7.1rem;
}

.info-item {
  margin-bottom: 6rem;
}

.info-title {
  font-size: 4.5rem;
  font-weight: 700;
  color: #000;
  margin-bottom: 2rem;
}

.info-desc {
  font-size: 4rem;
  color: #666;
  line-height: 1.6;
  word-break: keep-all;
}

/* --- 7. SNS 아이콘 --- */
.sns-title {
  font-size: 4.5rem;
  font-weight: 700;
  padding: 0 7.1rem;
  margin-bottom: 3rem;
}
.sns-links {
  padding: 0 7.1rem;
  display: flex;
  gap: 8rem;
  margin-bottom: 10rem;
}
.sns-icon {
  width: 10rem;
  height: 10rem;
  border-radius: 3rem;
}
.schedule-card.has-bg {
  box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.35);
  margin-top: -3rem;
}
