@charset "UTF-8";

section {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-direction: column;
}

section {
  font-family: "Pretendard Variable";
  font-weight: 300;
  font-size: calc(var(--px) * 18);
  letter-spacing: -0.04vw;
}

section img {
  width: 100%;
}

/* 마커디자인 */
.map_marker {
  position: relative;
  display: inline-block;
}

/* 말풍선 텍스트 박스 */
.map_marker_text {
  background: #711835;
  border: 1px solid #fff;
  padding: 9px 19px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

/* 말풍선 꼬리 (삼각형 테두리) */
.map_marker_tail {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #fff;
}

/* 말풍선 꼬리 내부 (흰색 채우기) */
.map_marker_tail::after {
  content: "";
  position: absolute;
  top: -9px;
  left: -7px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #711835;
}

/* 퍼블시작 */

/* ═══════════ CON01 — 홈페이지 준비중 (임시 랜딩 / 풀스크린 1섹션) ═══════════ */

/* 스크롤바 제거 — 가로·세로 모두 화면 꽉 참 */
html,
body {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.con01 {
  justify-content: flex-start;
  height: 100vh;
  height: 100dvh;
  background-image: url("/images/con01_bg.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.con01_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  width: 100%;
  padding-top: 7.8vw;
}

.con01_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 404);
  aspect-ratio: 404 / 174;
}

.con01_tit {
  margin-top: 2vw;
  font-family: var(--font-paperlogy);
  font-weight: 800;
  font-size: calc(var(--px) * 54);
  line-height: 1;
  letter-spacing: -0.2vw;
  color: var(--color-tit);
}

.con01_txt {
  margin-top: 1.6vw;
  font-weight: 400;
  font-size: calc(var(--px) * 29);
  line-height: 1.2222;
  letter-spacing: -0.1vw;
  color: var(--color-tit);
  text-align: center;
}

.con01_txt_02 {
  font-weight: 800;
}

.con01_tel {
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 1vw;
  margin-top: 3.7vw;
}

.con01_tel_ico {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 65);
  aspect-ratio: 65 / 64;
}

.con01_tel_num {
  font-family: var(--font-paperlogy);
  font-weight: 900;
  font-size: calc(var(--px) * 52);
  line-height: 1;
  letter-spacing: -0.1vw;
  color: var(--color-tel);
}

.con01_brand {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 100%;
  aspect-ratio: 1905 / 197;
  margin-bottom: -1px;
}


/* ===== 모바일 지도 터치 잠금 오버레이 (md/map_zoom_control.md §3) ===== */
.map-touch-lock-parent {
  position: relative;
}

.map-touch-lock {
  position: absolute;
  z-index: 30;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.58);
  border: 0;
  box-sizing: border-box;
  text-align: center;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: pan-y;
}

.map-touch-lock-text {
  display: block;
  padding: 0 calc(var(--px) * 20);
  font-size: calc(var(--px) * 16);
  font-weight: 700;
  line-height: 1.3;
  word-break: keep-all;
}

.is-map-touch-unlocked .map-touch-lock {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 599px) {
  /* ══ CON01 — 모바일 (가로·세로 꽉 참, 스크롤 없음) ══ */
  .con01_inner {
    padding-top: 6vw;
  }

  .con01_logo {
    width: 50vw;
  }

  .con01_tit {
    margin-top: 5vw;
    font-size: 5.6vw;
  }

  .con01_txt {
    margin-top: 4vw;
    font-size: 3.5vw;
  }

  .con01_tel {
    column-gap: 2vw;
    margin-top: 8vw;
  }

  .con01_tel_ico {
    width: 8vw;
  }

  .con01_tel_num {
    font-size: 6.5vw;
  }

  .map-touch-lock-text {
    font-size: 4.3vw;
    padding: 0 4vw;
  }
}

/* ══ CON01 — 짧은 화면(모바일 가로모드 등). 세로가 짧아 콘텐츠가 잘리는 것 방지 ══ */
@media (max-height: 500px) {
  .con01_inner {
    padding-top: 2vw;
  }

  .con01_logo {
    width: 26vw;
  }

  .con01_tit {
    margin-top: 2.5vw;
    font-size: 3.6vw;
  }

  .con01_txt {
    margin-top: 2vw;
    font-size: 2.6vw;
  }

  .con01_tel {
    column-gap: 1.2vw;
    margin-top: 3.5vw;
  }

  .con01_tel_ico {
    width: 4.5vw;
  }

  .con01_tel_num {
    font-size: 4.2vw;
  }
}
