/**
 * HubSpot chat stacking only (no geometry).
 *
 * HubSpot owns mobile/desktop size and keyboard. We only:
 * - Keep the launcher under the fixed header (z 99990).
 * - Raise the open widget above the header (desktop 1000100 / mobile 1000300).
 * - Hide HubSpot entirely while the hamburger menu is open.
 *
 * Keep this file out of WP Rocket CSS minify (see PHP enqueue).
 */

/*
 * Keep default selectors without .widget-align-* — those add a class
 * and beat expanded rules (e.g. (0,2,3) > (0,2,2)).
 */
html body div#hubspot-messages-iframe-container,
html body #hubspot-messages-iframe-container {
  z-index: 99990 !important;
  pointer-events: none !important;
}

html body #hubspot-messages-iframe-container iframe,
html body #hubspot-messages-iframe-container iframe#hubspot-conversations-iframe,
html body #hubspot-messages-iframe-container iframe#hs-messages-iframe {
  pointer-events: auto !important;
}

@media screen and (min-width: 981px) {
  html body.wdi-hs-chat-expanded div#hubspot-messages-iframe-container,
  html body.wdi-hs-chat-expanded #hubspot-messages-iframe-container {
    z-index: 1000100 !important;
  }
}

@media screen and (max-width: 980px) {
  /* Above header (99996–99998); below open hamburger menu (1000500). */
  html body.wdi-hs-chat-expanded div#hubspot-messages-iframe-container,
  html body.wdi-hs-chat-expanded #hubspot-messages-iframe-container {
    z-index: 1000300 !important;
  }

  /*
   * Parent pointer-events:none does NOT disable iframe hit-testing.
   * Hide container + iframe while the mobile nav sheet is open.
   */
  html.wdi-mobile-nav-open #hubspot-messages-iframe-container,
  html.wdi-mobile-nav-open #hubspot-messages-iframe-container iframe,
  html.wdi-mobile-nav-open #hubspot-messages-iframe-container *,
  html body:has(.mobile_nav.opened) #hubspot-messages-iframe-container,
  html body:has(.mobile_nav.opened) #hubspot-messages-iframe-container iframe,
  html body:has(.mobile_nav.opened) #hubspot-messages-iframe-container * {
    pointer-events: none !important;
    visibility: hidden !important;
  }

  html.wdi-mobile-nav-open #mobile_menu.et_mobile_menu,
  html.wdi-mobile-nav-open #mobile_menu.et_mobile_menu a,
  html.wdi-mobile-nav-open #mobile_menu.et_mobile_menu button,
  html body:has(.mobile_nav.opened) #mobile_menu.et_mobile_menu,
  html body:has(.mobile_nav.opened) #mobile_menu.et_mobile_menu a,
  html body:has(.mobile_nav.opened) #mobile_menu.et_mobile_menu button {
    pointer-events: auto !important;
    visibility: visible !important;
  }

  html.wdi-mobile-nav-open #mobile_menu.et_mobile_menu,
  html body:has(.mobile_nav.opened) #mobile_menu.et_mobile_menu {
    z-index: 1000500 !important;
  }

  html.wdi-mobile-nav-open #main-header,
  html.wdi-mobile-nav-open #top-header,
  html body:has(.mobile_nav.opened) #main-header,
  html body:has(.mobile_nav.opened) #top-header {
    z-index: 1000400 !important;
  }
}
