
/*숙소 검색 상세*/
.contents--search {background:var(--color-gray-50); width:100vw; margin-left:calc(-50vw + 50%);}
.search-detail {flex:1; display:flex; justify-content:center;}
.search-detail--overlay {display:none; position:fixed; top:76px; left:0; right:0; bottom:0; background:var(--color-gray-50); z-index:99;}
.search-detail--overlay.search-detail--active {display:flex;}
.search-detail--overlay .search-detail__inner {height:calc(100vh - 76px); min-height: calc(100vh - 76px)}
.container.search-overlay-open {max-width:1800px; width:100%;}
.container.search-overlay-open ~ .site-footer {display:none;}
.container.search-overlay-open .site-header__search {opacity:0; transform:translateY(-16px); pointer-events:none;}
.container.search-overlay-open .contents {display:none;}
.container.search-overlay-open .search-detail {padding-top:0;}
.container.search-overlay-open .site-header--transparent {background:#FFF;}
.container.search-overlay-open .site-header--transparent .site-header__container {background:#ffffff;}
.container.search-overlay-open .site-header--transparent .site-header__logo {color:var(--logo-color);}
.container.search-overlay-open .site-header--transparent .site-header__search-form {border:1px solid #e6e6e6; background:transparent; backdrop-filter:none;}
.container.search-overlay-open .site-header--transparent .site-header__search-icon svg path {fill:#999;}
.container.search-overlay-open .site-header--transparent .site-header__search-input {color:#333;}
.container.search-overlay-open .site-header--transparent .site-header__search-input::placeholder {color:#999;}
.container.search-overlay-open .site-header--transparent .site-header__nav a {color:#1c1f23;}
.container.search-overlay-open .site-header--transparent .site-header__nav a:hover {color:var(--accent);}
.container.search-overlay-open .site-header--transparent .site-header__nav .site-header__nav--active {border-bottom:2px solid #000;}
.container.search-overlay-open .site-header--transparent .site-header__meta {color:#7a7f87;}
.container.search-overlay-open .site-header--transparent .site-header__login-txt {color:#666666;}
.container.search-overlay-open .site-header--transparent .site-header__divider {background:#d9dce4;}
.container.search-overlay-open .site-header--transparent .site-header__my-btn {color:#666;}
.container.search-overlay-open .site-header--transparent .site-header__my-btn svg circle, .container.search-overlay-open .site-header--transparent .site-header__my-btn svg path {stroke:#666;}
.search-detail__inner {width:100%; max-width:768px; display:flex; flex-direction:column; height:calc(100vh - 76px); padding: 0 28px; background: var(--color-white); overflow:hidden;}
.search-detail__header {position:relative; display:flex; align-items:center; justify-content:center; margin:36px 0; flex-shrink:0;}
.search-detail__title {font-size:24px; font-weight:600; color:#111; letter-spacing:-0.02em;}
.search-detail__close {position:absolute; right:0; top:50%; transform:translateY(-50%); background:none; border:none; font-size:40px; line-height:1; color:#111; cursor:pointer; padding:4px;}
.search-panel {border:1px solid #e8e8e8; border-radius:20px; padding:10px 20px; background:#fff; margin-bottom:48px; flex-shrink:0;}
.search-panel__row {display:flex; flex-direction:column;}
.search-panel__row--input {flex-direction:row; align-items:center; gap:12px; padding:4px 0 4px; border-bottom:1px solid #efefef;}
.search-panel__keyword {display:flex; align-items:center; gap:12px; padding:18px 0 16px; border-bottom:1px solid #efefef; cursor:pointer; width:100%; height: 56px;}
.search-panel__tags-inline {display:flex; align-items:center; gap:6px; flex-wrap:wrap; flex:1; min-width:0;}
.search-panel__tags-inline:empty::before {content:"가고싶은 지역이나 스테이를 찾아보세요"; color:#b7b7b7; font-size:15px; white-space:nowrap;}
.search-panel__tag-inline {display:inline-flex; align-items:center; padding:6px 12px; background:#f4f4f4; border-radius:999px; font-size:14px; color:#333; white-space:nowrap;}
.search-panel__clear {display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border:none; background:#e8e8e8; border-radius:50%; color:#666; cursor:pointer; font-size:18px; line-height:1; flex-shrink:0;}
.search-panel__back {display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border:none; background:none; color:#111; cursor:pointer; flex-shrink:0; margin-left:-8px;}
.search-panel__input {flex:1; border:none; font-size:15px; color:#111; background:transparent; outline:none; min-width:0;}
.search-panel__input::placeholder {color:#b7b7b7;}
.search-panel__controls {display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0 12px;}
.search-panel__trigger {display:flex; align-items:center; gap:10px; border:none; background:none; font-size:15px; color:#111; cursor:pointer; padding:0;}
.search-panel__trigger:first-child {justify-content:flex-start;}
.search-panel__trigger:last-child {justify-content:flex-end;}
.search-panel__icon {display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; color:#111;}
.search-panel__icon img {display:block; width:100%; height:100%; object-fit:contain;}
.search-panel__label {font-size:15px; color:#111;}
.search-calendar {display:none; flex-direction:column; background:#fff; margin-bottom:32px; flex-shrink:0;}
.search-calendar.is-active {display:flex; flex:1; min-height:0;}
.search-calendar__months {display:flex; flex-direction:column; gap:40px; padding:0 4px; overflow-y:auto;}
.search-calendar.is-active .search-calendar__months {flex:1; min-height:0;}
.search-calendar__month {display:flex; flex-direction:column;}
.search-calendar__month-title {font-size:18px; font-weight:600; color:#111; margin-bottom:20px; letter-spacing:-0.01em;}
.search-calendar__weekdays {display:grid; grid-template-columns:repeat(7, 1fr); gap:8px; margin: 0 10px 12px;}
.search-calendar__weekday {text-align:center; font-size:14px; color:#999; padding:8px 0;}
.search-calendar__weekday:first-child {color:#ff6b6b;}
.search-calendar__weekday:last-child {color:#4dabf7;}
.search-calendar__days {display:grid; grid-template-columns:repeat(7, 1fr); gap:8px; margin: 0 10px}
.search-calendar__days div, .search-calendar__days button {height: 50px; text-align: center; width: 100%;}
.search-calendar__day {aspect-ratio:1; display:flex; align-items:center; justify-content:center; font-size:15px; color:#111; cursor:pointer; border-radius:8px; transition:background 0.2s ease, color 0.2s ease; position:relative; border:none; background:none; z-index:0;}
.search-calendar__day::before {content:""; position:absolute; top:50%; left:0; right:0; height:min(100%, 48px); background:transparent; transform:translateY(-50%); z-index:-2; transition:background 0.2s ease;}
.search-calendar__day:disabled {color:#d0d0d0; cursor:not-allowed;}
.search-calendar__day.is-sunday {color:#ff6b6b;}
.search-calendar__day.is-saturday {color:#4dabf7;}
.search-calendar__day.is-start, .search-calendar__day.is-end {color:#fff; font-weight:600;}
.search-calendar__day.is-start::after, .search-calendar__day.is-end::after {content:""; position:absolute; top:50%; left:50%; width:min(100%, 48px); height:min(100%, 48px); border-radius:50%; background:#111; transform:translate(-50%, -50%); z-index:-1; transition:background 0.2s ease;}
.search-calendar__day.is-in-range::before {background:#f4f4f4; left:-4px; right:-4px;}
.search-calendar__day.is-range-start::before {background:#f4f4f4; left:50%; right:-4px;}
.search-calendar__day.is-range-end::before {background:#f4f4f4; left:-4px; right:50%;}
.search-calendar__day.is-in-range[data-weekday='0']::before, .search-calendar__day.is-range-end[data-weekday='0']::before {left:0;}
.search-calendar__day.is-in-range[data-weekday='6']::before, .search-calendar__day.is-range-start[data-weekday='6']::before {right:0;}
.search-people {display:flex; flex-direction:column; background:#fff; padding:0 24px 20px; margin-bottom:32px; opacity:0; visibility:hidden; max-height:0; overflow:hidden; transform:translateY(-10px); transition:opacity 0.3s ease, transform 0.3s ease, visibility 0s 0.3s, max-height 0.3s ease; flex-shrink:0;}
.search-people.is-active {opacity:1; visibility:visible; max-height:1000px; transform:translateY(0); transition:opacity 0.3s ease, transform 0.3s ease, visibility 0s, max-height 0.3s ease;}
.search-people__list {display:flex; flex-direction:column;}
.search-detail__spacer {flex:1;}
.search-calendar.is-active ~ .search-detail__spacer {flex:0; height:0;}
.search-detail__footer {position:sticky; bottom:0; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:24px 0 8px; background:#fff; border-top:1px solid #e8e8e8; flex-shrink:0;}
.search-detail__reset {border:none; background:none; color:#4d4d4d; font-size:14px; cursor:pointer; padding:10px 0; text-decoration:underline;}
.search-detail__submit {margin-left:auto; border:none; background:#111; color:#fff; border-radius:12px; padding:0 40px; height:52px; font-size:16px; font-weight:500; cursor:pointer;}
.search-detail__submit:hover, .search-detail__submit:focus {background:#000; outline:none;}
.search-region {margin-bottom:32px; flex-shrink:0;}
.search-region.is-hidden {display:none;}
.search-region__title {font-size:18px; color:#111; margin-bottom:20px; letter-spacing:-0.01em;}
.search-region__chips {display:grid; grid-template-columns: repeat(5, auto); gap: 14px;}
.search-chip {padding:10px 22px; border:none; border-radius:999px; background:#f4f4f4; font-size:15px; color:#333; line-height:1; cursor:pointer; transition:background 0.2s ease, color 0.2s ease;}
.search-chip:hover, .search-chip:focus {background:#e9e9e9; color:#111; outline:none;}
.search-chip.is-selected {background:#111; color:#fff;}
.search-chip.is-selected:hover {background:#000;}
.search-selected-tags {display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.search-tag {display:inline-flex; align-items:center; gap:6px; padding:6px 12px; background:#f4f4f4; border-radius:999px; font-size:14px; color:#333;}
.search-tag__remove {display:inline-flex; align-items:center; justify-content:center; width:16px; height:16px; border:none; background:none; color:#999; cursor:pointer; padding:0; font-size:16px; line-height:1;}
.search-tag__remove:hover {color:#111;}


/* 지도 뷰 */
.search-stay-map { display:none; position:fixed; top:180px; left:0; right:0; bottom:0; z-index:1000; background:var(--color-white); }
.search-stay-map.active { display:flex; }
.search-stay.map-view-active .search-stay__cards { display:none; }
.search-stay.map-view-active .section-stay__map { display:none; }
.search-stay-map__content { flex:1; display:flex; overflow:hidden; height:100%; }
.search-stay-map__sidebar { width:640px; height:100%; overflow-y:auto; overflow-x:hidden; background:var(--color-white); border-right:1px solid var(--color-gray-200); flex-shrink:0; }
.search-stay-map__sidebar::-webkit-scrollbar { width:8px; }
.search-stay-map__sidebar::-webkit-scrollbar-track { background:var(--color-gray-100); }
.search-stay-map__sidebar::-webkit-scrollbar-thumb { background:var(--color-gray-400); border-radius:4px; }
.search-stay-map__sidebar::-webkit-scrollbar-thumb:hover { background:var(--color-gray-500); }
.stay-card__wrapper--map { margin-top: 10px }
.search-stay-map__cards { padding:16px; display:flex; flex-direction:column; gap:16px; }
.search-stay-map__view { flex:1; position:relative; background:var(--color-gray-100); overflow:hidden; }
.search-stay-map__close { position:absolute; top:16px; right:16px; z-index:10; display:flex; align-items:center; gap:6px; padding:10px 20px; background:var(--color-white); border:1px solid var(--color-gray-300); border-radius:8px; font-size:14px; font-weight:500; color:var(--color-gray-700); cursor:pointer; transition:all 0.2s; }
.search-stay-map__close:hover { background:var(--color-gray-50); border-color:var(--color-gray-900); color:var(--color-gray-900); }
.search-stay-map__close svg { width:16px; height:16px; }
.search-stay-map__container { width:100%; height:100%; position:relative; overflow:hidden; }
.search-stay-map__image { width:100%; height:100%; object-fit:cover; display:block; }
.search-stay-map .stay-card__content h3 { margin-top: 8px; }
.search-stay-map .stay-card__content {align-self: stretch; justify-content: space-between; padding: 0}

/* 지도 뷰 카드 */
.stay-card-map { position:relative; display:flex;gap:20px; background:var(--color-white); overflow:hidden; align-items: end }
.stay-card-map__media img { width: 240px; border-radius: 8px; }
.stay-card-map__media .stay-card__bookmark {left: 200px; right: unset}
.stay-card-map__media .stay-card__bookmark img { width: 22px; height: 22px; border-radius: 0 }
.stay-card-map__location {flex: 1; display: flex; justify-content: end; align-items: end;}
.stay-card-map__location button {border: 1px solid var(--color-gray-500); font-weight: 700; padding: 10px 36px; font-size: 14px; border-radius: 10px;}

/* 숙소 검색 리스트*/
.search-stay {position: relative; width: 1280px;}
.search-stay__header {padding:32px 32px 28px;}
.search-stay__form {width:100%; display:flex; align-items:center; gap:12px;}
.search-stay__field {display:flex; align-items:center; gap:10px; background:#f6f7f9; border-radius:14px; height:56px; padding:0 20px; border:1px solid transparent; color:#333; transition:background 0.2s ease,border-color 0.2s ease,box-shadow 0.2s ease;}
.search-stay__field--keyword {flex:1; min-width:200px; position:relative;}
.search-stay__field--date,.search-stay__field--people {min-width:200px; justify-content:flex-start;}
.search-stay__input {display:flex; flex:1; border:none; background:transparent; font-size:15px; color:#333; outline:none; padding:0;}
.search-stay__input::placeholder {color:#b8bcc4;}
.search-stay__results {display:none; flex-direction:column; gap:4px; flex:1;}
.search-stay__result-line1 {font-size:15px; color:#111; font-weight:500; line-height:1.4;}
.search-stay__result-line2 {font-size:13px; color:#666; line-height:1.4;}
.search-stay__field-icon {display:flex; align-items:center; justify-content:center; color:#999; flex-shrink:0;}
.search-stay__field-value {font-size:15px; color:#333; white-space:nowrap;}
.search-stay__submit {height:56px; border:none; padding:0 32px; border-radius:14px; background:#1a73e8; color:#fff; font-size:16px; font-weight:600; cursor:pointer;}
.search-stay__filter-btn {}
.search-stay__filter-btn img {display:block; width:38px; height:38px;}
.search-stay .recommend-order {display: flex; justify-content: right; padding-right: 32px; margin-bottom: 10px}
.search-stay .recommend-order button {display: flex; align-items: center; gap:3px; font-size: 0.875rem; background:none; border:none; cursor:pointer; color:#333;}
.search-stay .recommend-order img {display:block; width:21px; height:20px;}

/* 정렬 모달 */
.sort-modal {display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:9999; background:rgba(0,0,0,0.5); align-items:center; justify-content:center;}
.sort-modal.active {display:flex;}
.sort-modal__content {background:#fff; border-radius:16px; width:90%; max-width:480px; max-height:80vh; overflow:hidden; display:flex; flex-direction:column;}
.sort-modal__header {display:flex; align-items:center; justify-content:center; position:relative; padding:20px 24px; border-bottom:1px solid #f0f0f0;}
.sort-modal__title {font-size:18px; font-weight:600; color:#111; letter-spacing:-0.01em;}
.sort-modal__close {position:absolute; right:16px; top:50%; transform:translateY(-50%); background:none; border:none; padding:4px; cursor:pointer; display:flex; align-items:center; justify-content:center;}
.sort-modal__list {list-style:none; padding:0; margin:0; overflow-y:auto;}
.sort-modal__item {display:flex; align-items:center; justify-content:space-between; padding:18px 24px; cursor:pointer; transition:background 0.2s ease;}
.sort-modal__item:hover {background:#f8f8f8;}
.sort-modal__item span {font-size:16px; color:#333; letter-spacing:-0.01em;}
.sort-modal__check {opacity:0; transition:opacity 0.2s ease;}
.sort-modal__item.active .sort-modal__check {opacity:1;}

.search-stay__cards {display: grid;  grid-template-columns: repeat(3, 1fr); max-width: 1280px; row-gap:40px; column-gap: 20px; padding: 0 32px 120px}
.search-stay__cards .stay-card__top-radius {border-radius: 10px 10px 0 0}
.section-stay__map {position: sticky; display: flex; justify-content: center; bottom: 40px; width: 100%;  }
.section-stay__map button {color: var(--color-white); width: 100px; height: 50px; border-radius: 40px; background-color: var(--color-gray-900); display: flex; justify-content: center; align-items: center; gap: 3px; font-size: 16px }

/*모바일 지도 뷰*/
.search-stay-map-mobile {display:none;}

/* 최근 검색 */
.search-history {display:none; flex-direction:column; background:#fff; margin-bottom:24px; flex-shrink:0;}
.search-history.is-active {display:flex; flex: 1}
.search-history__header {display:flex; align-items:center; justify-content:space-between; padding:0 4px 16px; border-bottom:1px solid #f0f0f0; margin-bottom:20px;}
.search-history__title {font-size:18px; font-weight:600; color:#111; letter-spacing:-0.01em;}
.search-history__clear {border:none; background:none; font-size:16px; color:#999; cursor:pointer; padding:0; text-decoration: underline; text-underline-offset: 4px;}
.search-history__clear:hover {color:#111;}
.search-history__list {display:flex; flex-direction:column; gap:4px; list-style:none; padding:0; margin:0;}
.search-history__item {display:flex; align-items:center; gap:12px; padding:12px 8px; border-radius:8px; cursor:pointer; transition:background 0.2s ease;}
.search-history__item:hover {background:#f8f8f8;}
.search-history__item svg {flex-shrink:0;}
.search-history__item span {font-size:15px; color:#333;}

/* 검색 제안 */
.search-suggestions {display:none; flex-direction:column; background:#fff; margin-bottom:24px; flex-shrink:0; overflow-y:auto;}
.search-suggestions.is-active {display:flex; flex:1; min-height:0;  }
.search-suggestions__list {display:flex; flex-direction:column; gap:4px; list-style:none; padding:0; margin:0;}
.search-suggestions__item {display:flex; align-items:center; gap:12px; padding:12px 8px; border-radius:8px; cursor:pointer; transition:background 0.2s ease;}
.search-suggestions__item:hover {background:#f8f8f8;}
.search-suggestions__item svg {flex-shrink:0;}
.search-suggestions__item span {font-size:15px; color:#333;}
.search-suggestions__item .highlight {font-weight:700; color:#111;}

@media (max-width:1280px) {
  .search-stay { width: 100%; }
}
/* Promotion Section Mobile */
@media (max-width:1024px) {
  /*.site-header {display:none;}*/
  .search-stay__header {padding: 20px; background:var(--color-white); z-index:100;}
  .search-stay__field--date,.search-stay__field--people,.search-stay__submit {display:none;}
  .search-stay__field--keyword {order:1; width:100%;}
  .search-stay__filter-btn {order:2;}
  .search-stay .recommend-order {padding-top: 46px; padding-right: 28px; margin-bottom: 8px;}
  /* 숙소 검색 리스트*/
  .search-stay__cards {display: grid; grid-template-columns: repeat(2, 1fr); padding: 0 28px;}

  /* 모바일 검색 overlay */
  .search-detail--overlay {top:0; z-index:9999;}
  .search-detail--overlay .search-detail__inner {height:100vh; min-height:100vh; padding: 0 20px}

  /* 모바일 지도 뷰 */
  .search-stay-map-mobile.active {display:flex;}
  .search-stay-map-mobile {display:none; position:fixed; top:0; left:0; right:0; bottom:0; z-index:9998; background:#fff; flex-direction:column;}
  .search-stay-map-mobile .search-stay__header {position:absolute; top:0; left:0; right:0; z-index:10; box-shadow:0 2px 8px rgba(0,0,0,0.08); display: flex; gap: 10px}
  .search-stay-map-mobile .search-stay__field--date, .search-stay-map-mobile .search-stay__field--people, .search-stay-map-mobile .search-stay__submit {display:none;}
  .search-stay-map-mobile__map {flex:1; position:relative; background:#e5e5e5;}
  .search-stay-map-mobile__map-image {width:100%; height:100%; object-fit:cover; display:block;}
  .search-stay-map-mobile__close {position:absolute; top:80px; right:16px; display:flex; align-items:center; gap:6px; padding:10px 16px; background:#fff; border:1px solid #e0e0e0; border-radius:999px; font-size:14px; font-weight:500; color:#333; cursor:pointer; box-shadow:0 2px 8px rgba(0,0,0,0.1);}
  .search-stay-map-mobile__slider {position:absolute; bottom:0; left:0px; right:0; padding:0 0 20px; z-index:11;}
  .search-stay-map-mobile__swiper {width:100%; height:100%;}

  .search-stay-map-mobile__swiper .swiper-wrapper {align-items:center;}
  .search-stay-map-mobile__swiper .swiper-slide {width:auto;}

  /* 모바일 지도 뷰 카드 스타일 */
  .stay-card--mobile-map {width:420px; background:#fff; border-radius:12px; overflow:hidden; display:flex; flex-direction:row; align-items:center; gap: 12px; padding: 10px;}
  .stay-card--mobile-map .stay-card__media {height:100px; position:relative; overflow:hidden;}
  .stay-card--mobile-map .stay-card__media img {width:100%; height:100%; object-fit:cover;}
  .stay-card--mobile-map .stay-card__bookmark {position:absolute; top:4px; right:4px; width:24px; height:24px; padding:0; border:none;}
  .stay-card--mobile-map .stay-card__bookmark img {width:16px; height:16px;}
  .stay-card--mobile-map .stay-card__content {padding:0; gap: 0}
  .stay-card--mobile-map .stay-card__content h3 {font-size:14px; font-weight:600; color:#111; margin-bottom:4px; margin-top: 6px}
  .stay-card--mobile-map .stay-card__original {font-size:11px; color:#999; text-decoration:line-through; margin-bottom:4px; display:block;}
  .stay-card--mobile-map .stay-card__pricing {display:flex; align-items:center; justify-content:space-between;}
  .stay-card--mobile-map .stay-card__pricing:last-of-type {margin-bottom:0; margin-top: 0px}
  .stay-card--mobile-map .stay-card__member {font-size:11px; color:#1765e9;}
  .stay-card--mobile-map .stay-card__price {font-size:13px; font-weight:600; color:#111;}
  .stay-card--mobile-map .stay-card__wrapper--mobile-map {position: relative}
  .stay-card--mobile-map .stay-card__wrapper--mobile-map .stay-card__badge {padding: 3px 3px}
  .stay-card--mobile-map .stay-card__meta {margin-top: 6px; font-size:11px; color:#41454a; margin-bottom:4px;}
  /* 데스크톱 지도 뷰 숨김 */
  .search-stay-map {display:none;}

	.search-stay__input {display:none;}
	.search-stay__results {display:flex;}
}

@media (max-width:768px) {
	.search-calendar__days div, .search-calendar__days button {height: 40px;}

	.search-detail--overlay .search-detail__inner {height:100dvh; min-height: 100dvh}
  .search-panel {margin-bottom: 24px}
  .search-detail__footer {padding-top: 12px}

  /* 숙소 검색 리스트*/
  .search-stay__cards {display: grid; grid-template-columns: repeat(1, 1fr); gap: 28px; padding: 0px 20px 20px 20px}
  .search-region__chips {display:grid; grid-template-columns: repeat(3, auto); gap: 14px;}

  .search-stay-map-mobile__swiper {padding:0;}
  .stay-card--mobile-map {width:340px;}

  .search-calendar {margin-bottom: 0px}
  .search-calendar__days {margin: 0; gap: 6px}
  .search-calendar__months { gap: 20px;}

  }

