/*
  디자인 기준: 원본 동탄룸 리스트의 구조·이미지·간격·순서를 유지하고,
  배경 계열만 첨부 이미지와 유사한 다크 웜 차콜/에스프레소 브라운으로 보정한다.
  핵심 색상: #211D18, #26211B, #2B251F, #15110C. 골드 텍스트 대비는 유지한다.
*/

html,
body {
  min-height: 100%;
  background:
    radial-gradient(circle at 14% 16%, rgba(94, 72, 49, 0.22), transparent 0 22%),
    radial-gradient(circle at 84% 12%, rgba(78, 58, 39, 0.18), transparent 0 24%),
    radial-gradient(circle at 50% 100%, rgba(62, 46, 31, 0.16), transparent 0 36%),
    linear-gradient(180deg, #26211B 0%, #211D18 46%, #15110C 100%) !important;
  color-scheme: dark;
}

body {
  position: relative;
  overflow-x: hidden;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(93, 72, 50, 0.12) 0%, rgba(64, 48, 33, 0.07) 34%, rgba(10, 7, 4, 0) 100%),
    radial-gradient(circle at 18% 10%, rgba(112, 84, 56, 0.18), transparent 0 18%),
    radial-gradient(circle at 88% 18%, rgba(82, 61, 42, 0.14), transparent 0 20%);
  mix-blend-mode: screen;
  opacity: 0.88;
}

#root {
  position: relative;
  z-index: 1;
}

[class*="bg-[#060608]"],
[class*="bg-[#050507]"],
[class*="bg-[#08080a]"],
[class*="bg-[#090707]"],
[class*="bg-[#0d0b0c]"],
[class*="bg-[#100d0c]"],
[class*="bg-[#120c0a]"],
[class*="bg-[#17110e]"],
[class*="bg-[#100d0a]"],
[class*="bg-[#0b0909]"],
[class*="bg-[#140f0d]"] {
  background-color: #211D18 !important;
}

[class*="bg-[rgba(8,8,10,0.56)]"],
[class*="bg-[rgba(8,8,10,0.72)]"],
[class*="bg-[rgba(7,7,9,0.72)]"],
[class*="bg-black/18"],
[class*="bg-black/20"],
[class*="bg-black/24"],
[class*="bg-white/[0.04]"],
[class*="bg-white/[0.03]"] {
  background-color: rgba(33, 29, 24, 0.88) !important;
}

[class*="bg-[linear-gradient"],
[class*="bg-[radial-gradient"] {
  background-image: linear-gradient(180deg, rgba(43, 37, 31, 0.94), rgba(21, 17, 12, 0.96)) !important;
}

header[class],
section[class],
article[class],
div[class*="border border-white/10"],
div[class*="border border-white/8"] {
  box-shadow: 0 22px 60px rgba(10, 7, 4, 0.22);
}

[class*="text-white"] {
  text-shadow: 0 1px 1px rgba(10, 7, 4, 0.22);
}

[class*="text-[#d5b07a]"],
[class*="text-[#f3d8af]"],
[class*="text-[#f0c98f]"],
[class*="text-[#f0d2a5]"] {
  filter: saturate(0.98) brightness(1.06);
}

/* 원본 복원 섹션의 네이비 계열 배경만 에스프레소 브라운으로 치환한다. */
[data-sky-restored="true"] .sky-gallery-card {
  background: rgba(33, 29, 24, 0.72) !important;
}

[data-sky-restored="true"] .sky-detail-hero,
[data-sky-restored="true"] .sky-detail-intro,
[data-sky-restored="true"] .sky-detail-points,
[data-sky-restored="true"] .sky-detail-outro,
[data-sky-restored="true"] .sky-detail-card,
#sky-restored-location .sky-location-card,
#zeus-restored-location .sky-location-card {
  background: linear-gradient(180deg, rgba(255, 244, 220, 0.05) 0%, rgba(255, 244, 220, 0.015) 8%, rgba(43, 37, 31, 0.94) 16%, rgba(33, 29, 24, 0.92) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 241, 214, 0.10), 0 12px 24px rgba(10, 7, 4, 0.18) !important;
}

[data-sky-restored="true"] .sky-detail-kicker,
[data-sky-restored="true"] .sky-detail-card-badge {
  background: linear-gradient(180deg, rgba(43, 37, 31, 0.98), rgba(33, 29, 24, 0.96)) !important;
  box-shadow: 0 12px 24px rgba(10, 7, 4, 0.24) !important;
}

[data-sky-restored="true"] .sky-pricing-shell {
  background: linear-gradient(180deg, rgba(213, 176, 122, 0.12), rgba(21, 17, 12, 0.90)) !important;
}

[data-sky-restored="true"] .sky-pricing-card,
[data-sky-restored="true"] .sky-review-card,
[data-sky-restored="true"] details {
  background: linear-gradient(180deg, rgba(255, 244, 220, 0.045) 0%, rgba(43, 37, 31, 0.72) 16%, rgba(21, 17, 12, 0.74) 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255, 241, 214, 0.08), 0 10px 20px rgba(10, 7, 4, 0.16) !important;
}

img {
  image-rendering: auto;
}

/* 지도 복구 고정 규칙: 공개 빌드에서 높이 유틸리티가 누락되어도 실제 지도 컨테이너 높이를 유지한다. */
#contact .leaflet-container,
#contact .gm-style,
#contact [class*="h-[500px]"],
#contact [style*="height: 500px"] {
  height: 320px !important;
  min-height: 320px !important;
}

#contact .leaflet-container .leaflet-pane,
#contact .leaflet-container .leaflet-map-pane,
#contact .leaflet-container .leaflet-tile-pane,
#contact .leaflet-container .leaflet-overlay-pane,
#contact .leaflet-container .leaflet-shadow-pane,
#contact .leaflet-container .leaflet-marker-pane,
#contact .leaflet-container .leaflet-tooltip-pane,
#contact .leaflet-container .leaflet-popup-pane,
#contact .gm-style > div,
#contact .gm-style iframe,
#contact .gm-style canvas,
#contact .gm-style img {
  min-height: 100%;
}

#contact .overflow-hidden.border.border-white\/12.bg-black\/18 {
  min-height: 338px;
}

@media (min-width: 640px) {
  #contact .leaflet-container,
  #contact .gm-style,
  #contact [class*="h-[500px]"],
  #contact [style*="height: 500px"] {
    height: 380px !important;
    min-height: 380px !important;
  }

  #contact .overflow-hidden.border.border-white\/12.bg-black\/18 {
    min-height: 398px;
  }
}

@media (min-width: 1024px) {
  [data-loc="client/src/pages/VenueDetail.tsx:719"] > [data-loc="client/src/pages/VenueDetail.tsx:720"] {
    grid-column: 1 / -1;
  }
}

/* 모바일 지역리스트 하단 이미지 보정 영역: 사용자가 지정한 하단 지역 이미지 박스만 실제 모바일 확인 후 최소 규칙으로 다시 작성한다. */

@media (max-width: 640px) {
  /* 모바일 지역리스트 하단 이미지 보정: 원본 이미지 비율 그대로 노출해 좌우 여백과 상하 짤림을 제거한다. */
  #seoul-story-shell .seoul-map-banner-wrap {
    aspect-ratio: auto !important;
    height: auto !important;
    min-height: min(90vw, 352px) !important;
    background: #0a1320 !important;
  }

  #seoul-story-shell .seoul-map-banner {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #0a1320 !important;
  }
}
