
@font-face {
    font-family: 'NanumSquareAcB';
    src: url('../gh/moonspam/NanumSquare@master/NanumSquareAcB.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
}

html, body, *, h1, h2, h3, h4, h5, h6, p, a, span, li, div { font-family: 'NanumSquareAcB', sans-serif; }
/*
   키티의 💡 참고사항:
   로컬 폰트 파일 대신 CDN으로 변경하여 404 오류 해결
*/
/* --- @font-face for NanumSquare - CDN --- */
/* 🚩 핵심 수정 1: [purple] 색상 변경! 대비율을 높이기 위해 #9349ff에서 #5F009F로 변경했습니다. */
[purple] {
  color: #5F009F; /* 기존 #9349ff -> #5F009F */
}

[blue] {
  color: #626DFF;
}

[red] {
  color: #ff3a4e;
}

/* 🚩 핵심 수정 2: [gray] 색상을 더 진하게 변경하여 대비율을 높였습니다. */
[gray] {
  color: #6c757d; /* 기존 #babfc4 -> #6c757d */
}

[yellow] {
  color: #f9e000;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1.5em;
  font-family: 'NanumSquareAcB', sans-serif; /* CDN으로 불러온 NanumSquare 적용 */
  outline: none;
}

body {
  color: #343a40;
}
body[lock] {
  height: 100vh;
  overflow: hidden;
}

a {
  color: #626DFF;
  text-decoration: none;
}
a:hover {
  /* [purple]이 변경되었으므로 이 부분도 자동으로 #5F009F로 반영됩니다. */
  color: #5F009F; /* 기존 #9349ff -> #5F009F */
  text-decoration: underline;
}

a span[count] {
  font-size: 0.9em;
  /* [purple]이 변경되었으므로 이 부분도 자동으로 #5F009F로 반영됩니다. */
  color: #5F009F; /* 기존 #9349ff -> #5F009F */
}

img {
  display: inline-block;
  width: 100%;
}

h2,
h3,
h4,
h5,
h6 {
  margin: 0.5em 0;
}

[pin] {
  font-size: 0.9em;
}

form {
  width: 100%;
  max-width: 600px;
  margin: auto;
  padding: 1em;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
  border-radius: 0.4em;
}

label,
input,
textarea,
select,
button {
  display: block;
  width: 100%;
}

label {
  margin-left: 0.5em;
  margin-bottom: 0.25em;
  font-size: 0.9em;
  color: #868e96;
}

input,
textarea,
select {
  font-size: 1em;
  border: none;
  -webkit-border-radius: 0;
  border-radius: 0.4em;
}

input,
textarea,
select {
  padding: 0.5em 1em;
  margin-bottom: 1em;
  -webkit-appearance: none;
  appearance: none;
  border: 1px solid #babfc4;
  color: #343a40;
}

input[type="password"] {
  font-family: 'NanumSquareAcB', sans-serif;
}

/* 🚩 핵심 수정 3: 플레이스홀더 색상도 대비율을 높였습니다. */
input::placeholder {
  color: #868e96; /* 기존 #babfc4 -> #868e96 */
  font-size: 0.9em;
}

textarea {
  resize: none;
  height: 200px;
}

select {
  background: #fff;
}

button {
  margin-top: 2em;
  padding: 0.5em;
  cursor: pointer;
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  background-size: 150% 150%;
  color: #fff;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
}
button:hover {
  background-position: 50% 50%;
}

/* 🚩 핵심 수정 4: 비활성화 버튼 텍스트 색상도 대비율을 높였습니다. */
button[type="submit"][disabled] {
  color: #adb5bd; /* 기존 #babfc4 -> #adb5bd */
  cursor: wait;
}

header {
  position: relative;
  padding: 1em;
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
header a:hover {
  text-decoration: none;
}
header div[logo] {
  display: inline-block;
  margin-left: 1em;
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  cursor: pointer;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
header div[logo]:hover {
  border-bottom: 1px solid #ff3a4e;
}
header div[logo] div {
  display: inline-block;
  pointer-events: none;
}
header div[logo] div[svg-box] {
  width: 1.3em;
}

/* 🚩 키티의 💖 최종 보완 수정: div[data-title] - '전체와 조화롭게' 더욱 선명하고 세련되게! */
div[data-title] {
  /*
     ✨ 'Pretendard'는 세련되면서도 가독성이 뛰어나 현대 웹 디자인에 매우 적합한 폰트입니다.
     (반드시 HTML <head> 부분에 CDN 링크 추가 필요!)
     만약 'NanumSquare'로 통일하고 싶으시면 아래 주석 처리된 라인을 활성화하세요.
  */
  font-family: 'NanumSquareAcB', sans-serif;
  
  /* 폰트 굵기를 다시 'bold (700)'로 설정하여 제목의 존재감을 확실히 하고, 선명한 인상을 줍니다. */
  font-weight: 700; /* 존재감 있는 제목을 위해 다시 700 (bold)으로 변경 */

  font-size: 26px; /* 폰트 사이즈를 24px에서 26px로 약간 키워 시각적 강조! */
  letter-spacing: 0.5px; /* 기존 간격 유지 */

  /*
     🎨 색상 조정: 전체 그라데이션(#5F009F - #ff3a4e)과 잘 어우러지면서도
     눈에 더 잘 들어오도록 '미드톤의 퍼플' 계열을 선택했습니다.
     메인 그라데이션의 시작 색상인 #5F009F와 #626DFF (블루) 사이에서 조화롭게 연결될 거예요.
  */
  color: #7A3AA9; /* 기존 #4A0072보다 밝지만 깊이 있는 퍼플로 변경, 더 선명하고 조화로운 느낌 */

  /* 텍스트 그림자를 다시 약간 강조하여 글씨가 배경에 묻히지 않도록 합니다. */
  text-shadow: 1px 1px 3px rgba(0,0,0,0.2); /* 그림자 효과를 약간 더 주어 입체감 부여 */
}


/* 🚩 핵심 수정 5-2: 로고 SVG 수정 (index.html에서 옮겨옴) */
div[svg-box] svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* header div[logo] div[title]에 그라데이션이 적용되어 있던 원래 스타일 (이제 [data-title]이 대신합니다.) */
/* HTML 구조 상 <div data-title> 이 사용되므로 이 부분은 주석 처리합니다. */
/* header div[logo] div[title] {
  font-size: 1.3em;
  background: linear-gradient(125deg, #5F009F, #ff3a4e);
  color: transparent;
  -webkit-background-clip: text;
} */


header div[profile] {
  position: absolute;
  top: 1em;
  right: 1em;
}
header div[profile] img[thumb] {
  width: 50px;
  cursor: pointer;
}
header div[profile] a[signin] {
  display: inline-block;
  color: #f9e000;
  font-weight: 700;
  margin-top: 0.3em;
}

div[path] {
  width: 100%;
  max-width: 1200px;
  margin: auto;
  padding: 0 1em;
  font-weight: 300;
}
div[path] a {
  color: #626DFF;
}
/* 이 부분은 위쪽 a:hover와 중복됩니다. 위에 정의된 것을 따르도록 유지합니다. */
/* a:hover {
  color: #5F009F;
} */
/* 🚩 핵심 수정 6: 경로 화살표 색상도 대비율을 높였습니다. */
div[path] span[arrow] {
  font-size: 0.9em;
  color: #868e96; /* 기존 #babfc4 -> #868e96 */
}

main {
  padding: 1em;
  width: 100%;
  max-width: 1200px;
  margin: auto;
}
main section {
  padding: 1em;
  margin: 2em 0;
  border-radius: 0.4em;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
}
main section > h2 {
  display: inline-block;
  font-weight: 400;
  font-size: 1.4em;
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
}
main section[title] {
  padding: 5em 1em 4em;
  margin-top: 0;
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  background-size: 150% 150%;
  border-radius: 0.4em;
  color: #fff;
  text-align: center;
  -webkit-animation: 10s introBg ease infinite;
  -moz-animation: 10s introBg ease infinite;
  animation: 10s introBg ease infinite;
}
main section[title] h1 {
  font-size: 1.5em;
  font-weight: 300;
  margin-bottom: 1em;
}
main section[title] h1[spot-page] {
  font-size: 1.4em;
}
main section[title] p {
  font-weight: 300;
}
main section[dateUpdated] {
  box-shadow: none;
  font-size: 0.8em;
  color: #868e96;
}
main section[list] {
  text-align: center;
  box-shadow: none;
}
/* 🚩 추가: 업소 목록 그리드 간격 증가 */
main section[list] div[wrapper] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1.5em; /* 기존 1em에서 1.5em으로 증가 */
}
/* 🚩 추가: 각 업소 목록 박스 크기 줄이기 */
main section[list] div[wrapper] ul {
  display: block;
  padding: 1em; /* 기존 1.5em에서 1em으로 줄임 */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
  border-radius: 8px;
  min-height: 150px; /* 기존 200px에서 150px로 줄임 */
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
}

/* 🚩 추가: 업소 목록 제목 크기 증가 */
main section[list] div[wrapper] ul h3 {
  font-size: 1.2em; /* 기존 1.1em에서 1.2em으로 증가 */
  margin-top: 0;
  margin-bottom: 15px; /* 하단 마진 증가 */
  padding-bottom: 8px; /* 하단 패딩 추가 */
  border-bottom: 2px solid #f0f0f0; /* 구분선 추가 */
}
main section[list] div[wrapper] ul h3 a {
  border-bottom: 1px solid rgba(0, 0, 0, 0);
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
}
main section[list] div[wrapper] ul h3 a:hover {
  /* [purple]이 변경되었으므로 이 부분도 자동으로 #5F009F로 반영됩니다. */
  border-bottom: 1px solid #5F009F; /* 기존 #9349ff -> #5F009F */
}
main section[list] div[wrapper] ul h3[name] {
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
}
main section[list] div[wrapper] ul li {
  list-style-type: none;
  margin-bottom: 0.5em;
}
/* 🚩 핵심 수정 7: 'empty' 상태 목록 텍스트 색상 대비율을 높였습니다. */
main section[list] div[wrapper] ul li[empty] {
  color: #868e96; /* 기존 #babfc4 -> #868e96 */
}
/* 🚩 핵심 수정 8: 'empty' 상태 목록 내 링크 텍스트 색상 대비율을 높였습니다. */
main section[list] div[wrapper] ul li[empty] a[telegram] {
  color: #868e96; /* 기존 #babfc4 -> #868e96 */
}
main section[contents] {
  box-shadow: none;
  text-align: center;
}
main section[contents] div[information] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 1em;
}
main section[contents] div[information] h2 {
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
}
main section[contents] div[information] ul {
  display: block;
  padding: 1em;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
  border-radius: 0.4em;
  list-style: none;
}
main section[contents] div[information] ul h3 {
  font-size: 1.1em;
  font-weight: 600;
  display: inline-block;
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
}
main section[contents] div[information] ul li {
  margin-bottom: 0.5em;
  font-size: 0.9em;
}
main section[map] {
  padding: 0;
  text-align: center;
}
main section[map] h2 {
  display: inline-block;
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
}
main section[map] p {
  margin-bottom: 1em;
}
main section[map] iframe {
  width: 100%;
  height: 500px;
  border: none;
  border-radius: 0.4em;
}
main section[article] {
  box-shadow: none;
  text-align: center;
}
main section[article] article {
  text-align: left;
}
main section[article] article > div {
  margin-bottom: 2em;
}
main section[article] article > div h3 {
  /* [purple]이 변경되었으므로 그라데이션 시작 색상도 #5F009F로 반영됩니다. */
  background: linear-gradient(125deg, #5F009F, #ff3a4e); /* 기존 #9349ff -> #5F009F */
  color: transparent;
  -webkit-background-clip: text;
  display: inline-block;
}
main section[article] article > div ol,
main section[article] article > div ul {
  margin-left: 1.5em;
}
main section[article] article > div ol li,
main section[article] article > div ul li {
  margin-bottom: 0.5em;
}
main section[article] article div[partials] {
  padding: 1em;
}

footer {
  margin-top: 5em;
  padding: 3em 1em;
  font-size: 0.9em;
  font-weight: 300;
  text-align: center;
  color: #868e96;
  box-shadow: 0 -4px 5px 0 rgba(0, 0, 0, 0.1);
}

div[modals] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: scroll;
  padding: 1em;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  background: rgba(32, 33, 36, 0.5);
  display: none;
}
div[modals][show] {
  display: block;
}
div[modals] div[modal] {
  position: relative;
  width: 100%;
  max-width: 700px;
  background: #fff;
  margin: 5em auto;
  padding: 2em 1em;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
  border-radius: 0.4em;
}
div[modals] div[modal] div[contents] div[loading] {
  font-size: 0.9em;
  color: #868e96;
  text-align: center;
  margin: 5em 0;
}

div[alert-wrapper] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  -webkit-backdrop-filter: blur(1px);
  backdrop-filter: blur(1px);
  background: rgba(32, 33, 36, 0.5);
  display: none;
}
div[alert-wrapper][show] {
  -webkit-display: flex;
  -moz-display: flex;
  -ms-display: flex;
  -o-display: flex;
  display: flex;
  justify-content: center;
  align-items: center;
}
div[alert-wrapper] div[alert] {
  margin: 2em;
  padding: 2em 1em;
  width: 100%;
  max-width: 500px;
  background: #fff;
  text-align: center;
  border-radius: 0.4em;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.25);
}

@-webkit-keyframes introBg {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@-moz-keyframes introBg {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes introBg {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@media (max-width: 500px) {
  main section[list] div[wrapper],
  main section[contents] div[information] {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* 🚩 슬라이드 컨테이너 높이도 함께 줄이기 */
.rotating-list-container {
  position: relative;
  height: 30px;
  overflow: hidden;
  margin-bottom: 10px;
}

.rotating-list-container li {
  position: absolute;
  top: 50%; /* 박스의 세로 중앙 */
  left: 100%;
  width: 100%;
  opacity: 0;
  display: block !important;
  transition: all 0.8s ease-in-out;
  pointer-events: none;
  padding: 8px 0;
  transform: translateY(-50%); /* 정확한 중앙 정렬을 위해 */
}

.rotating-list-container li.is-active {
  left: 0;
  opacity: 1;
  pointer-events: auto;
  top: 50%; /* 활성화 시에도 동일하게 중앙 */
  transform: translateY(-50%); /* 정확한 중앙 정렬을 위해 */
}
/* 🚩 핵심 추가 10: 그레이 그라데이션 애니메이션 효과 */
.gradient-text-animation {
  background: linear-gradient(90deg, #868e96, #adb5bd, #6c757d, #868e96);
  background-size: 300% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gradientShift 3s ease-in-out infinite;
}

@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* 🚩 핵심 추가 11: 업소명과 설명의 시각적 차이를 위한 스타일 */
main section[list] ul li[itemprop="mainEntity"] [itemprop="name"] {
  font-weight: bold;
  font-size: 1.1em; /* 글씨 크기 약간 키움 */
}

/* 🚩 핵심 추가 12: .business-description-section 및 관련 스타일 추가 */
.business-description-section {
    padding: 25px; /* 기존 20px에서 25px로 패딩 증가 */
    background-color: #f5f5f5;
    border-radius: 10px; /* 모서리 둥글기 증가 */
    margin-top: 40px; /* 상단 마진 증가로 더 아래로 내림 */
    box-shadow: 0 4px 8px rgba(0,0,0,0.15); /* 그림자 강조 */
}

.business-description-section h2 {
    font-size: 26px; /* 기존 24px에서 26px로 키움 */
    color: #222;
    margin-bottom: 30px; /* 하단 마진 증가 */
    text-align: center;
    font-weight: 700;
}

.business-description-section h3 {
    font-size: 22px; /* 기존 20px에서 22px로 키움 */
    color: #444;
    margin-top: 35px; /* 상단 마진 증가 */
    margin-bottom: 20px; /* 하단 마진 증가 */
    padding-bottom: 12px; /* 패딩 증가 */
    border-bottom: 3px solid #ddd; /* 선 두께 증가 */
}


.business-description-item {
    background-color: #ffffff;
    border: 2px solid #e0e0e0; /* 테두리 두께 증가 */
    border-radius: 8px; /* 모서리 둥글기 증가 */
    padding: 15px 18px; /* 패딩 증가 */
    margin-bottom: 15px; /* 하단 마진 증가 */
    line-height: 1.6; /* 줄간격 증가 */
    color: #333;
    transition: all 0.3s ease-in-out; /* 트랜지션 시간 증가 */
    font-size: 1.05em; /* 글씨 크기 약간 증가 */
}
.business-description-item:hover {
    box-shadow: 0 6px 12px rgba(0,0,0,0.2); /* 호버 시 그림자 강조 */
    transform: translateY(-3px); /* 호버 시 이동 거리 증가 */
}

/* 🚩 핵심 수정 13: .business-description-item strong 색상 및 애니메이션 */
.business-description-item strong {
    color: #5F009F;
    font-weight: 700; /* 굵기 증가 */
    font-size: 1.1em; /* 크기 증가 */
    animation: police-siren-blink 2s infinite;
}

@keyframes police-siren-blink {
    0%, 100% {
        color: #5F009F; /* 변경된 보라색 */
        text-shadow: none;
    }
    25% {
        color: #007bff; /* 밝은 파란색 */
        text-shadow: 0 0 8px rgba(0, 123, 255, 0.8);
    }
    75% {
        color: #dc3545; /* 밝은 빨간색 */
        text-shadow: 0 0 8px rgba(220, 53, 69, 0.8);
    }
}
/*# sourceMappingURL=master.css.map */

/* Luxury Enhancement */

h1, h2, h3 {
    font-weight: 600 !important;
    letter-spacing: 0.6px !important;
    line-height: 1.32 !important;
}

p, li, span, a {
    font-weight: 400 !important;
    letter-spacing: 0.15px !important;
    line-height: 1.55 !important;
}

body {
    background-color: #fafafa !important;
}




/* === Luxury UI Upgrade === */
header div[data-title] {
    font-weight: 600 !important;
    font-size: 1.25rem !important;
    letter-spacing: 0.4px !important;
}

a {
    transition: opacity .25s ease, color .25s ease;
}
a:hover {
    opacity: .75;
}

button, .btn {
    border-radius: 14px !important;
    padding: 10px 18px !important;
    transition: background .25s ease, transform .2s ease, box-shadow .3s ease;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
}
button:hover, .btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0,0,0,0.12);
}
