/* ===== OTHER PAGES: MAIN FLOATING UI EXACT MATCH ===== */

/* 상담 버튼 전체 영역 */
[data-floating-page-consult-wrap] {
  position: fixed !important;

  left: 50% !important;
  right: auto !important;
  bottom: 20px !important;
  top: auto !important;

  width: 560px !important;
  max-width: calc(100vw - 20px) !important;

  height: 78px !important;
  min-height: 78px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 0 !important;
  border-radius: 18px !important;

  background: transparent !important;
  box-shadow: none !important;

  transform: translateX(-50%) !important;

  box-sizing: border-box !important;

  z-index: 30 !important;
}

/* 전화로 구독 상담 신청하기 */
[data-floating-page-consult] {
  position: static !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  width: 100% !important;
  min-width: 100% !important;

  height: 56px !important;
  min-height: 56px !important;

  margin: 0 !important;
  padding: 0 18px !important;

  border: 1px solid #2189ff !important;
  border-radius: 14px !important;

  background: #2189ff !important;
  color: #fff !important;

  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;

  text-align: center !important;
  text-decoration: none !important;

  box-shadow: none !important;

  box-sizing: border-box !important;
}


/* ===== 위로 가기 ===== */

[data-floating-page-top] {
  position: fixed !important;

  right: calc((100vw - min(600px, 100vw)) / 2 + 18px) !important;
  left: auto !important;

  bottom: 98px !important;
  top: auto !important;

  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: 1px solid rgba(0, 0, 0, 0.08) !important;
  border-radius: 50% !important;

  background: #fff !important;
  color: #000 !important;

  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.12) !important;

  cursor: pointer !important;

  z-index: 5000 !important;

  box-sizing: border-box !important;
}

[data-floating-page-top] svg {
  width: 18px !important;
  height: 18px !important;

  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

[data-floating-page-top]:hover {
  transform: translateY(-1px);
}


/* 메인과 동일한 모바일 위로가기 위치 */
@media (max-width: 600px) {
  [data-floating-page-top] {
    right: 18px !important;
    bottom: 112px !important;
  }
}


/* ===== 상담 모달 보조 ===== */

.floating-page-consult-modal select {
  width: 100%;
  min-height: 46px;
  padding: 0 12px;

  border: 1px solid #d1d5db;
  border-radius: 8px;

  background: #fff;
  color: #111827;

  font: inherit;

  box-sizing: border-box;
}


/* ===== TOAST ===== */

.floating-page-toast {
  position: fixed;

  left: 50%;
  bottom: 110px;

  z-index: 5000;

  padding: 11px 16px;

  border-radius: 999px;

  background: rgba(17, 24, 39, .94);
  color: #fff;

  font-size: 13px;
  font-weight: 700;

  opacity: 0;
  pointer-events: none;

  transform: translate(-50%, 10px);

  transition:
    opacity .2s ease,
    transform .2s ease;
}

.floating-page-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}


/* =========================================================
   MAIN PAGE EXACT VERTICAL POSITION
   ========================================================= */

/* PC: 메인 floating-consult 최종 높이와 동일 */
@media (min-width: 601px) {
  [data-floating-page-consult-wrap] {
    height: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;

    bottom: 20px !important;
  }
}

/* MOBILE: 메인 상담바 높이와 동일 */
@media (max-width: 600px) {
  [data-floating-page-consult-wrap] {
    height: 78px !important;
    min-height: 78px !important;
    max-height: 78px !important;

    bottom: 20px !important;
  }
}
