/* S1 Chaty 3.6.3 bridge. Semantic DOM verified in the browser; recheck on upgrades.
   Keep the official channel anchors, device routing and click handlers intact.
   The legacy Rental template is deliberately excluded by enqueue.php. */
.chaty{
  position:relative!important;
  z-index:40!important;
  font-family:var(--ic-font)!important;
}
.chaty .chaty-widget.has-single{
  right:20px!important;
  bottom:20px!important;
  width:54px!important;
  height:54px!important;
}
.chaty .has-single .single-channel{
  width:54px!important;
  height:54px!important;
}
.chaty .has-single :is(.Instagram-channel-link,.Instagram_DM-channel-link){
  right:0!important;
  bottom:0!important;
  width:54px!important;
  height:54px!important;
}
.chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel){
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:54px!important;
  height:54px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:var(--ic-ink)!important;
  color:var(--ic-white)!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.22),0 8px 24px rgba(11,12,15,.28)!important;
  transition:transform .2s var(--ic-ease),background-color .2s!important;
}
/* Match the site's Instagram artwork, not the plugin's service icon.
   This is a decorative theme mask, not a changed channel or paid plugin setting. */
.chaty :is(.channel-icon-Instagram,.channel-icon-Instagram_DM){
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:54px!important;
  height:54px!important;
}
.chaty :is(.channel-icon-Instagram,.channel-icon-Instagram_DM) > .chaty-svg{display:none!important}
.chaty :is(.channel-icon-Instagram,.channel-icon-Instagram_DM)::before{
  content:"";
  display:block;
  width:26px;
  height:26px;
  background:currentColor;
  -webkit-mask:url(../icons/brand-instagram.svg) center / contain no-repeat;
  mask:url(../icons/brand-instagram.svg) center / contain no-repeat;
}
/* Avoid duplicate native tooltip bubbles; retain the channel's own data-hover. */
.chaty :is(.Instagram-channel-link,.Instagram_DM-channel-link)::before,
.chaty :is(.Instagram-channel-link,.Instagram_DM-channel-link)::after,
.chaty :is(.Instagram-channel-link,.Instagram_DM-channel-link) .on-hover-text{display:none!important}
.chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel)::after{
  content:attr(data-hover);
  position:absolute;
  display:none!important;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%);
  padding:9px 12px;
  border-radius:var(--ic-radius);
  background:var(--ic-white);
  color:var(--ic-ink);
  font:500 13px/1 var(--ic-font);
  white-space:nowrap;
  box-shadow:0 6px 18px rgba(11,12,15,.16);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s;
}
.chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel):focus-visible{
  outline:2px solid var(--ic-sky)!important;
  outline-offset:3px!important;
}
@media (hover:hover) and (pointer:fine){
  .chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel):hover{
    background:var(--ic-ink-hover)!important;
    transform:translateY(-2px);
  }
  .chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel):is(:hover,:focus-visible)::after{display:block!important;opacity:1!important}
}
/* V3 theme-owned call-out, copied from the reference; its layer matches Chaty. */
.ic-chaty-cta{position:fixed;right:20px;bottom:86px;z-index:40;display:flex;align-items:center;gap:2px;max-width:calc(100vw - 40px);padding:4px 4px 4px 16px;
  border-radius:12px;background:var(--ic-white);color:var(--ic-ink);border:1px solid var(--ic-line);box-shadow:0 10px 28px rgba(11,12,15,.16);
  animation:ic-chaty-cta-in .4s var(--ic-ease) 1.2s both}
.ic-chaty-cta[hidden]{display:none}
.ic-chaty-cta::after{content:"";position:absolute;right:20px;bottom:-7px;width:12px;height:12px;background:var(--ic-white);
  border-right:1px solid var(--ic-line);border-bottom:1px solid var(--ic-line);transform:rotate(45deg);border-bottom-right-radius:2px}
.ic-chaty-cta__link{font:500 14px/1.2 var(--ic-font);white-space:nowrap;padding:9px 0}
.ic-chaty-cta__link:hover{text-decoration:underline;text-underline-offset:3px}
.ic-chaty-cta__x{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--ic-radius);color:var(--ic-muted)}
.ic-chaty-cta__x:hover{color:var(--ic-ink);background:var(--ic-paper)}
.ic-chaty-cta__link:focus-visible,.ic-chaty-cta__x:focus-visible{outline:2px solid var(--ic-sky);outline-offset:2px}
html.ic-cta-on .chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel)::after{display:none!important}
@keyframes ic-chaty-cta-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
html.ic-menu-open :is(.chaty,.ic-chaty-cta),
body:has(#booqable-sidebar-inner.open) :is(.chaty,.ic-chaty-cta){display:none!important}
@media (prefers-reduced-motion:reduce){
  .chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel){transition:none!important}
  .chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel):hover{transform:none}
  .ic-chaty-cta{animation:none}
}
/* V6: retain the real Chaty channels; reserve the mobile configurator price bar. */
@media(max-width:1023px){
  html.ic-cfg-on .chaty .chaty-widget.has-single{bottom:104px!important}
  html.ic-cfg-on .ic-chaty-cta,
  html.ic-cfg-on .chaty :is(.chaty-instagram-channel,.chaty-instagram_dm-channel)::after{display:none!important}
}
