/* Approved pink/yellow consultation buttons; visibility is reconciled against painted consultation controls. */
:root:root:root body .cta-float .cta-float__btn--phone,
:root:root:root body .cta-float .cta-float__btn--kakao {
  height: 56px !important;
  min-height: 56px !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  animation: none !important;
  transform: none !important;
  text-decoration: none !important;
}
:root:root:root body .cta-float .cta-float__btn--phone {
  flex-direction: column !important;
  gap: 2px !important;
  padding: 6px 10px !important;
  background: #D1006F !important;
  background-image: none !important;
  color: #fff !important;
}
:root:root:root body .cta-float .cta-float__btn--phone .cta-float__icon,
:root:root:root body .cta-float .cta-float__btn--phone::before {
  display: none !important;
}
:root:root:root body .cta-float .cta-float__btn--phone .s24-float__verb {
  display: block;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.15 !important;
  white-space: nowrap;
}
:root:root:root body .cta-float .cta-float__btn--phone .s24-float__number {
  display: block;
  color: #fff !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
}
:root:root:root body .cta-float .cta-float__btn--kakao {
  background: #FEE500 !important;
  background-image: none !important;
  color: #191600 !important;
}
:root:root:root body .cta-float .cta-float__btn--phone:focus-visible,
:root:root:root body .cta-float .cta-float__btn--kakao:focus-visible {
  outline: 3px solid #173a4a !important;
  outline-offset: 2px !important;
}
@media (max-width: 380px) {
  :root:root:root body .cta-float .cta-float__btn--phone .s24-float__verb { font-size: 16px !important; }
}

/* Visibility bridge owns only the floating controls after initialization. */
html.s24-cta-qa-ready body #ctaFloat {
  display: block !important; opacity: 1 !important; visibility: visible !important;
  transform: none !important; animation: none !important; transition: none !important;
}
html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--phone,
html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--kakao { visibility: visible !important; }
html.s24-cta-qa-ready body #ctaFloat .s24-cta-qa-hidden,
html.s24-cta-qa-ready body #ctaFloat.s24-cta-qa-empty { display: none !important; }
html.s24-cta-qa-ready body #ctaFloat.s24-cta-qa-single .cta-float__inner { grid-template-columns: minmax(0, 1fr) !important; }
html.s24-cta-qa-ready .site-footer { padding-bottom: calc(100px + env(safe-area-inset-bottom)) !important; }

/* Two-line phone label needs its full width in the desktop floating rail. */
@media (min-width: 769px) {
  html.s24-cta-qa-ready body #ctaFloat { width: 180px !important; max-width: calc(100vw - 36px) !important; }
  html.s24-cta-qa-ready body #ctaFloat .cta-float__inner { width: 100% !important; }
  html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--phone,
  html.s24-cta-qa-ready body #ctaFloat .cta-float__btn--kakao { width: 100% !important; box-sizing: border-box !important; }
  html.s24-cta-qa-ready .site-footer { padding-bottom: 180px !important; }
}
