/* PAA floating chat/cart launchers - child-theme presentation layer (thin proxy rebuild 2026-06-26). */
:root {
  --paa-fa-bottom: max(34px, env(safe-area-inset-bottom));
  --paa-fa-right: max(18px, env(safe-area-inset-right));
  --paa-fa-cart-w: clamp(57px, 4.25vw, 67px);
  --paa-fa-cart-h: clamp(75px, 5.62vw, 88px);
  --paa-fa-count-size: clamp(25px, 1.9vw, 29px);
  --paa-fa-gap: clamp(4px, .4vw, 6px);
  --paa-fa-cursor: url("/wp-content/themes/buddyboss-theme-child/img/pointer.webp"), pointer;
}

html.paa-actions-product-page {
  --paa-fa-bottom: max(34px, env(safe-area-inset-bottom));
}

body .paa-theme-floating-actions {
  position: fixed;
  right: calc(var(--paa-fa-right) + var(--paa-fa-cart-w) + var(--paa-fa-gap));
  bottom: var(--paa-fa-bottom);
  /* Above Tidio's #tidio-chat host (z 999999) so our close-orb control receives
     clicks. Tidio's host is pointer-events:none but its shadow has interactive
     regions that otherwise swallow clicks aimed at our control. The wrap itself is
     pointer-events:none, so only our buttons are interactive above the host. */
  z-index: 1000000;
  display: flex;
  align-items: center;
  gap: var(--paa-fa-gap);
  pointer-events: none;
  cursor: var(--paa-fa-cursor) !important;
}

body .paa-theme-floating-actions:hover,
body .paa-theme-floating-actions:focus-within {
  --paa-fa-plaque-offset: 0px;
  --paa-fa-plaque-opacity: 1;
  --paa-fa-plaque-pointer: auto;
}

body .paa-theme-floating-actions button {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  cursor: var(--paa-fa-cursor) !important;
  pointer-events: auto;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
}

body .paa-theme-floating-actions button:hover,
body .paa-theme-floating-actions button:focus,
body .paa-theme-floating-actions button:active {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  outline: none;
}

body .paa-fa-chat-plaque {
  position: relative;
  width: clamp(186px, 14.4vw, 232px);
  height: clamp(45px, 3.4vw, 56px);
  z-index: 1;
  opacity: var(--paa-fa-plaque-opacity, 1);
  transform: translateX(var(--paa-fa-plaque-offset, 0));
  transform-origin: right center;
  transition: opacity .22s ease, transform .22s ease;
  pointer-events: var(--paa-fa-plaque-pointer, auto);
}

body .paa-theme-floating-actions button.paa-fa-chat-plaque {
  margin-right: calc(var(--paa-fa-gap) * -4) !important;
}

html.paa-actions-plaque-collapsed body .paa-fa-chat-plaque {
  --paa-fa-plaque-offset: 18px;
  --paa-fa-plaque-opacity: 0;
  --paa-fa-plaque-pointer: none;
}

body .paa-fa-chat-plaque img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

body .paa-fa-chat-plaque span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 24%;
  color: #080605 !important;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(13px, 1.08vw, 17px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0;
  text-transform: none;
  white-space: nowrap;
}

body .paa-fa-chat-badge {
  position: relative;
  z-index: 2;
  width: var(--paa-fa-cart-w);
  height: var(--paa-fa-cart-h);
}

/* Stacked shield (idle/loading) + close-orb (open) images; toggled by state class. */
body .paa-fa-chat-badge img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  pointer-events: none;
}

body .paa-fa-chat-badge .paa-fa-badge-close {
  display: none;
}

html.paa-actions-chat-open body .paa-fa-chat-badge .paa-fa-badge-open {
  display: none;
}

html.paa-actions-chat-open body .paa-fa-chat-badge .paa-fa-badge-close {
  display: block;
}

/* When open, the shield becomes a square close-orb anchored at the bottom-right so it
   sits clear of (below) the Tidio panel and never overlaps its interactive footer. */
html.paa-actions-chat-open .paa-fa-chat-badge {
  height: var(--paa-fa-cart-w);
  align-self: flex-end;
}

/* When Tidio is open: hide only the plaque; the shield stays as the close-orb control.
   The whole cluster is NOT removed, so the close affordance remains in the corner. */
html.paa-actions-chat-open .paa-fa-chat-plaque {
  display: none !important;
}

html.paa-actions-chat-open #fkcart-floating-toggler,
html.paa-actions-chat-open .fkcart-floating-toggler,
html.paa-actions-chat-open .fkcart-floating-toggle,
html.paa-actions-chat-open .fkcart-toggler {
  display: none !important;
}

body #fkcart-floating-toggler,
body .fkcart-floating-toggler,
body .fkcart-floating-toggle,
body .fkcart-toggler {
  position: fixed !important;
  right: var(--paa-fa-right) !important;
  bottom: var(--paa-fa-bottom) !important;
  width: var(--paa-fa-cart-w) !important;
  height: var(--paa-fa-cart-h) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  color: transparent !important;
  filter: none !important;
  -webkit-filter: none !important;
  forced-color-adjust: none !important;
  color-scheme: light !important;
  isolation: isolate !important;
  mix-blend-mode: normal !important;
  visibility: visible !important;
  cursor: var(--paa-fa-cursor) !important;
  overflow: visible !important;
  z-index: 999999 !important;
}

body #fkcart-floating-toggler::before,
body .fkcart-floating-toggler::before,
body .fkcart-floating-toggle::before,
body .fkcart-toggler::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  background: transparent url("/wp-content/themes/buddyboss-theme-child/img/floating-actions/cart-badge-base-v2-ui.webp") center / contain no-repeat !important;
  filter: none !important;
  -webkit-filter: none !important;
  forced-color-adjust: none !important;
  color-scheme: light !important;
  mix-blend-mode: normal !important;
  pointer-events: none !important;
}

body #fkcart-floating-toggler:hover,
body #fkcart-floating-toggler:focus,
body #fkcart-floating-toggler:active,
body .fkcart-floating-toggler:hover,
body .fkcart-floating-toggler:focus,
body .fkcart-floating-toggler:active,
body .fkcart-floating-toggle:hover,
body .fkcart-floating-toggle:focus,
body .fkcart-floating-toggle:active,
body .fkcart-toggler:hover,
body .fkcart-toggler:focus,
body .fkcart-toggler:active {
  border: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  background-image: none !important;
  filter: none !important;
  -webkit-filter: none !important;
}

body #fkcart-floating-toggler svg,
body #fkcart-floating-toggler i,
body #fkcart-floating-toggler .fkcart-icon,
body #fkcart-floating-toggler .fkcart-floating-icon,
body .fkcart-floating-toggler svg,
body .fkcart-floating-toggler i,
body .fkcart-floating-toggler .fkcart-icon,
body .fkcart-floating-toggler .fkcart-floating-icon,
body .fkcart-floating-toggle svg,
body .fkcart-floating-toggle i,
body .fkcart-floating-toggle .fkcart-icon,
body .fkcart-floating-toggle .fkcart-floating-icon,
body .fkcart-toggler svg,
body .fkcart-toggler i,
body .fkcart-toggler .fkcart-icon,
body .fkcart-toggler .fkcart-floating-icon {
  opacity: 0 !important;
}

body #fkcart-floating-toggler .fkcart-item-count,
body #fkcart-floating-toggler .fkcart-count,
body #fkcart-floating-toggler [class*="count"],
body .fkcart-floating-toggler .fkcart-item-count,
body .fkcart-floating-toggler .fkcart-count,
body .fkcart-floating-toggler [class*="count"],
body .fkcart-floating-toggle .fkcart-item-count,
body .fkcart-floating-toggle .fkcart-count,
body .fkcart-floating-toggle [class*="count"],
body .fkcart-toggler .fkcart-item-count,
body .fkcart-toggler .fkcart-count,
body .fkcart-toggler [class*="count"] {
  position: absolute !important;
  z-index: 2 !important;
  top: 6px !important;
  right: -5px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--paa-fa-count-size) !important;
  height: var(--paa-fa-count-size) !important;
  min-width: var(--paa-fa-count-size) !important;
  min-height: var(--paa-fa-count-size) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: transparent url("/wp-content/themes/buddyboss-theme-child/img/floating-actions/cart-count-orb-crimson-v1.webp") center / contain no-repeat !important;
  box-shadow: none !important;
  color: #fff8ed !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .75) !important;
}

body #fkcart-floating-toggler .fkcart-item-count[data-item-count="0"],
body #fkcart-floating-toggler .fkcart-count[data-item-count="0"],
body .fkcart-floating-toggler .fkcart-item-count[data-item-count="0"],
body .fkcart-floating-toggler .fkcart-count[data-item-count="0"],
body .fkcart-floating-toggle .fkcart-item-count[data-item-count="0"],
body .fkcart-floating-toggle .fkcart-count[data-item-count="0"],
body .fkcart-toggler .fkcart-item-count[data-item-count="0"],
body .fkcart-toggler .fkcart-count[data-item-count="0"] {
  display: none !important;
}

@media (max-width: 640px) {
  :root {
    --paa-fa-cart-w: 60px;
    --paa-fa-cart-h: 79px;
    --paa-fa-count-size: 26px;
    --paa-fa-right: max(12px, env(safe-area-inset-right));
    --paa-fa-bottom: max(22px, env(safe-area-inset-bottom));
  }

  html.paa-actions-product-page {
    --paa-fa-bottom: max(22px, env(safe-area-inset-bottom));
  }

  body .paa-theme-floating-actions {
    right: calc(var(--paa-fa-right) + var(--paa-fa-cart-w) + 4px);
    gap: 4px;
  }

  body .paa-fa-chat-plaque {
    width: min(36vw, 166px);
    height: 42px;
  }

  body .paa-fa-chat-plaque span {
    font-size: 12px;
    padding: 0 20%;
  }

  body .custom-product-page #product-hero .flex:has(> .bundle-detail-cart) {
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    max-width: 208px;
    gap: 8px;
  }

  body .custom-product-page #product-hero .bundle-detail-cart {
    flex: 0 0 192px;
  }

  body .custom-product-page #product-hero .bundle-detail-cart + * {
    flex: 0 0 192px;
    max-width: 192px;
  }

  html.paa-actions-chat-loading #tidio-chat,
  html.paa-actions-chat-open #tidio-chat {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    bottom: 0 !important;
  }

}

@media (max-width: 760px) and (max-height: 430px) {
  :root {
    --paa-fa-cart-w: 52px;
    --paa-fa-cart-h: 69px;
    --paa-fa-count-size: 23px;
    --paa-fa-right: max(8px, env(safe-area-inset-right));
    --paa-fa-bottom: max(10px, env(safe-area-inset-bottom));
  }

  html.paa-actions-product-page {
    --paa-fa-bottom: max(10px, env(safe-area-inset-bottom));
  }

  body .paa-theme-floating-actions {
    right: calc(var(--paa-fa-right) + var(--paa-fa-cart-w) + 4px);
  }

  body .paa-fa-chat-plaque {
    width: min(31vw, 148px);
    height: 37px;
  }

  body .paa-fa-chat-plaque span {
    font-size: 11px;
  }

  body #fkcart-floating-toggler .fkcart-item-count,
  body #fkcart-floating-toggler .fkcart-count,
  body #fkcart-floating-toggler [class*="count"],
  body .fkcart-floating-toggler .fkcart-item-count,
  body .fkcart-floating-toggler .fkcart-count,
  body .fkcart-floating-toggler [class*="count"],
  body .fkcart-floating-toggle .fkcart-item-count,
  body .fkcart-floating-toggle .fkcart-count,
  body .fkcart-floating-toggle [class*="count"],
  body .fkcart-toggler .fkcart-item-count,
  body .fkcart-toggler .fkcart-count,
  body .fkcart-toggler [class*="count"] {
    font-size: 12px !important;
  }
}
