html,
body {
  min-height: 100%;
  background:
    radial-gradient(circle at 14% 16%, rgba(190, 230, 255, 0.34), transparent 0 22%),
    radial-gradient(circle at 84% 12%, rgba(149, 205, 255, 0.24), transparent 0 24%),
    radial-gradient(circle at 50% 100%, rgba(118, 173, 224, 0.18), transparent 0 36%),
    linear-gradient(180deg, #21476a 0%, #173756 44%, #0e2338 100%);
  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(212, 236, 255, 0.14) 0%, rgba(123, 176, 222, 0.06) 34%, rgba(8, 19, 31, 0) 100%),
    radial-gradient(circle at 18% 10%, rgba(216, 241, 255, 0.26), transparent 0 18%),
    radial-gradient(circle at 88% 18%, rgba(160, 211, 255, 0.16), transparent 0 20%);
  mix-blend-mode: screen;
  opacity: 0.9;
}

#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: #173756 !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(24, 54, 84, 0.74) !important;
}

[class*="bg-[linear-gradient"],
[class*="bg-[radial-gradient"] {
  background-image: linear-gradient(180deg, rgba(34, 77, 116, 0.94), rgba(18, 43, 66, 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(8, 25, 42, 0.14);
}

[class*="text-white"] {
  text-shadow: 0 1px 1px rgba(6, 18, 28, 0.12);
}

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

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;
  }
}
