.ps-floating-contact,
.ps-floating-contact *,
.ps-floating-contact *::before,
.ps-floating-contact *::after {
  box-sizing: border-box;
}

.ps-floating-contact {
  --ps-contact-accent: var(--ps-ui-brand);
  --ps-contact-ink: var(--ps-ui-ink);
  --ps-contact-muted: var(--ps-ui-muted);
  --ps-contact-border: var(--ps-ui-line);
  position: fixed;
  right: max(var(--ps-space-5, 24px), env(safe-area-inset-right));
  bottom: max(var(--ps-space-5, 24px), env(safe-area-inset-bottom));
  z-index: var(--ps-layer-sticky, 100);
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  color: var(--ps-contact-ink);
  font-family: var(--ps-ui-font);
  pointer-events: none;
}

body.ps-chat-layer-open .ps-floating-contact,
body.ps-header-layer-open .ps-floating-contact,
body.ps-woo-mobile-cat-open .ps-floating-contact,
body.ps-woo-catalog-drawer-is-open .ps-floating-contact,
body.ps-systems-configurator-is-open .ps-floating-contact {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.ps-floating-contact__menu {
  width: min(300px, calc(100vw - 32px));
  margin-bottom: var(--ps-space-3, 12px);
  padding: var(--ps-space-2, 8px);
  border: 1px solid var(--ps-contact-border);
  border-radius: var(--ps-ui-radius-card);
  background: var(--ps-chrome-bg-strong);
  box-shadow: var(--ps-ui-shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transform-origin: right bottom;

  transition: opacity var(--ps-transition, 180ms ease), transform var(--ps-transition, 180ms ease), visibility var(--ps-transition, 180ms ease);
  pointer-events: none;

  -webkit-backdrop-filter: blur(18px) saturate(112%);

  backdrop-filter: blur(18px) saturate(112%);
}

.ps-floating-contact.is-open .ps-floating-contact__menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.ps-floating-contact__item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: var(--ps-space-3, 12px);
  align-items: center;
  min-height: 62px;
  padding: 9px 10px;
  border: 1px solid transparent;
  border-radius: var(--ps-ui-radius-control);
  background: transparent;
  color: var(--ps-contact-ink);
  text-decoration: none;
  transition: background var(--ps-transition, 180ms ease), border-color var(--ps-transition, 180ms ease);
}

.ps-floating-contact__item + .ps-floating-contact__item {
  margin-top: var(--ps-space-1, 4px);
}

.ps-floating-contact__item:hover,
.ps-floating-contact__item:focus-visible {
  border-color: var(--ps-ui-line-strong);
  background: var(--ps-ui-surface);
  color: var(--ps-ui-brand);
  text-decoration: none;
}



.ps-floating-contact__item-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid var(--ps-ui-line);
  border-radius: var(--ps-ui-radius-control);
  background: var(--ps-ui-surface);
  color: var(--ps-contact-accent);
}

.ps-floating-contact__item-icon svg,
.ps-floating-contact__trigger-icon svg {
  display: block;
  width: 21px;
  height: 21px;
  fill: currentColor;
}

.ps-floating-contact__item-copy,
.ps-floating-contact__item-copy strong,
.ps-floating-contact__item-copy small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.ps-floating-contact__item-copy strong {
  color: var(--ps-contact-ink);
  font-size: var(--ps-ui-small);
  font-weight: var(--ps-ui-strong-weight);
  line-height: var(--ps-ui-leading-label);
}

.ps-floating-contact__item-copy small {
  margin-top: 3px;
  color: var(--ps-contact-muted);
  font-size: var(--ps-ui-caption);
  font-weight: var(--ps-ui-body-weight);
  line-height: var(--ps-ui-leading-compact);
}

.ps-floating-contact__trigger {
  display: grid;
  place-items: center;
  width: 56px;
  min-width: 56px;
  height: 56px;
  min-height: 56px;
  padding: 0;
  border: 1px solid var(--ps-ui-brand);
  border-radius: var(--ps-ui-button-radius);
  background: var(--ps-ui-brand);
  color: var(--ps-ui-on-color);
  box-shadow: var(--ps-ui-shadow);
  font: inherit;
  cursor: pointer;
  pointer-events: auto;
  transition: background var(--ps-transition, 180ms ease), border-color var(--ps-transition, 180ms ease), box-shadow var(--ps-transition, 180ms ease);
}

.ps-floating-contact__trigger:hover,
.ps-floating-contact__trigger:focus-visible,
.ps-floating-contact.is-open .ps-floating-contact__trigger {
  border-color: var(--ps-ui-brand-hover);
  background: var(--ps-ui-brand-hover);
  box-shadow: var(--ps-ui-shadow);
}

.ps-floating-contact__trigger-label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ps-floating-contact__trigger-icon {
  display: grid;
  place-items: center;
}

.ps-floating-contact__trigger-icon--close,
.ps-floating-contact.is-open .ps-floating-contact__trigger-icon--contact {
  display: none;
}

.ps-floating-contact.is-open .ps-floating-contact__trigger-icon--close {
  display: grid;
}

@media (max-width: 600px) {
  .ps-floating-contact {
    right: max(var(--ps-space-4, 16px), env(safe-area-inset-right));
    bottom: max(var(--ps-space-4, 16px), env(safe-area-inset-bottom));
  }

  .ps-floating-contact__menu {
    width: min(292px, calc(100vw - 32px));
  
  background: var(--ps-chrome-bg-strong);

  -webkit-backdrop-filter: blur(18px) saturate(112%);

  backdrop-filter: blur(18px) saturate(112%);
}

  .ps-floating-contact__trigger {
    width: 52px;
    min-width: 52px;
    height: 52px;
    min-height: 52px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ps-floating-contact__menu,
  .ps-floating-contact__item,
  .ps-floating-contact__trigger {
    transition: none;
  }
}
