/**
 * 전 페이지 고정 CTA — 카톡 · 일정 신청 · 전화
 * 모바일에서 body overflow-x:clip 때문에 fixed가 깨지지 않도록
 * 이 파일은 BaseLayout에서 가장 마지막에 로드
 */

/* iOS: body/html overflow-x clip → fixed 깨짐 방지 */
html {
  overflow-x: visible !important;
}
body {
  overflow-x: visible !important;
}
main#main {
  overflow-x: clip;
  max-width: 100%;
}

.float-side {
  display: grid !important;
  position: fixed !important;
  right: 0 !important;
  top: 50% !important;
  bottom: auto !important;
  left: auto !important;
  transform: translate3d(0, -50%, 0) !important;
  -webkit-transform: translate3d(0, -50%, 0) !important;
  gap: 0 !important;
  z-index: 2147483000 !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  max-width: none !important;
  visibility: visible !important;
  opacity: 1 !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.float-side a {
  pointer-events: auto !important;
  min-width: 78px !important;
  min-height: 48px !important;
  padding: 10px 12px !important;
  border-radius: 10px 0 0 10px !important;
  display: grid !important;
  place-items: center !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: -0.02em !important;
  text-decoration: none !important;
  box-shadow: -2px 2px 10px rgba(16, 37, 54, 0.18) !important;
  border: 0 !important;
  line-height: 1.2 !important;
  text-align: center !important;
  white-space: nowrap !important;
  visibility: visible !important;
  opacity: 1 !important;
}
.float-side a + a {
  margin-top: 0 !important;
}

/* 클래스명 혼용 대응 (kakao/sms/call + btn-*) */
.float-side .kakao,
.float-side .btn-kakao,
.float-side .btn-gold,
.float-side a[href*='kakao'] {
  background: #fee500 !important;
  color: #191600 !important;
}
.float-side .sms,
.float-side .btn-sms,
.float-side .btn-navy,
.float-side a[href*='docs.google.com'] {
  background: #123a5c !important;
  color: #fff !important;
}
.float-side .call,
.float-side .btn-call,
.float-side a[href^='tel:'] {
  background: #1f8a4c !important;
  color: #fff !important;
}
.float-side .btn-level {
  display: none !important;
}

.mobile-cta {
  display: none;
}

/* 모바일: 하단바 + 우측 탭 동시 고정 */
@media (max-width: 719px) {
  .mobile-cta {
    display: grid !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    top: auto !important;
    z-index: 2147483000 !important;
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 6px !important;
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px)) !important;
    background: rgba(255, 255, 255, 0.98) !important;
    border-top: 1px solid #d8dee6 !important;
    box-shadow: 0 -4px 16px rgba(16, 37, 54, 0.12) !important;
    margin: 0 !important;
    width: 100% !important;
    max-width: none !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    opacity: 1 !important;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .mobile-cta a {
    min-height: 48px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: -0.02em !important;
    display: grid !important;
    place-items: center !important;
    text-decoration: none !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .mobile-cta .kakao,
  .mobile-cta .btn-kakao,
  .mobile-cta a[href*='kakao'] {
    background: #fee500 !important;
    color: #191600 !important;
  }
  .mobile-cta .sms,
  .mobile-cta .btn-sms,
  .mobile-cta a[href*='docs.google.com'] {
    background: #123a5c !important;
    color: #fff !important;
  }
  .mobile-cta .call,
  .mobile-cta .btn-call,
  .mobile-cta a[href^='tel:'] {
    background: #1f8a4c !important;
    color: #fff !important;
  }

  .float-side {
    display: grid !important;
    position: fixed !important;
    right: 0 !important;
    /* transform 대신 top 고정값 → iOS fixed 안정화 */
    top: 28% !important;
    transform: translate3d(0, 0, 0) !important;
    -webkit-transform: translate3d(0, 0, 0) !important;
    bottom: auto !important;
    z-index: 2147483001 !important;
  }
  .float-side a {
    min-width: 72px !important;
    min-height: 50px !important;
    padding: 10px 11px !important;
    font-size: 12.5px !important;
    border-radius: 10px 0 0 10px !important;
  }

  body {
    padding-bottom: calc(72px + env(safe-area-inset-bottom, 0px)) !important;
  }
}

/* PC: 하단바만 숨김, 사이드 유지 */
@media (min-width: 720px) {
  .mobile-cta {
    display: none !important;
  }
  .float-side {
    display: grid !important;
    position: fixed !important;
  }
  .float-side a {
    min-width: 86px !important;
    min-height: 50px !important;
    font-size: 14px !important;
  }
}

@media (max-width: 719px) and (max-height: 520px) {
  .float-side {
    top: 22% !important;
  }
  .float-side a {
    min-height: 42px !important;
    font-size: 11.5px !important;
    padding: 8px 10px !important;
  }
  .mobile-cta a {
    min-height: 42px !important;
    font-size: 12.5px !important;
  }
}
