  @import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

  :root {
    --b24-font-family-default: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --b24-font-family: Montserrat, var(--b24-font-family-default);
    --b24-primary-color: rgba(12, 94, 152, 1);
    --b24-primary-hover-color: rgba(12, 94, 152, 0.7);
    --b24-white-color: #fff;
    --fw-size: 44px;
    --fw-gap: 10px;
    --color-toggle-btn: #001f42;
  }
  
  .feedback-widget {
    position: fixed;
    right: 3vw;
    bottom: 60px;
    width: var(--fw-size);
    height: var(--fw-size);
    z-index: 1000;
    display: inline-block;
  }

  .feedback-widget {
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .25s ease, transform .25s ease;
    pointer-events: none;
  }

  .feedback-widget.scroll-visible {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .fw-button {
    width: var(--fw-size);
    height: var(--fw-size);
    border-radius: 50%;
    background: var(--color-toggle-btn);
    border: 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    cursor: pointer;
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    overflow: visible;
  }

  .fw-button__image {
    width: 24px;
    height: 24px;
    object-fit: contain;
    display: block;
    filter: invert(1);
    transition: opacity .15s ease, transform .18s ease;
  }

  .fw-button__icon {
    position: absolute;
    font-size: 24px;
    margin-bottom: 3px;
    margin-bottom: 5px;
    line-height: 1;
    color: #333;
    opacity: 0;
    filter: invert(1);
    transform: scale(.85);
    transition: opacity .18s ease, transform .18s cubic-bezier(.2, .9, .3, 1);
    pointer-events: none;
  }

  .fw-actions {
    position: absolute;
    right: 0;
    bottom: calc(var(--fw-size) + var(--fw-gap));
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: var(--fw-gap);
    pointer-events: none;
  }

  .fw-action {
    width: var(--fw-size);
    height: var(--fw-size);
    border-radius: 50%;
    background: var(--b24-primary-color);
    border: 0;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translateY(10px) scale(.95);
    transition: opacity .18s ease, transform .25s cubic-bezier(.2, .9, .3, 1);
    pointer-events: none;
    padding: 0;
    transform-origin: center bottom;
  }

  .fw-action:nth-child(1) {
    transition-delay: 0s;
  }

  .fw-action:nth-child(2) {
    transition-delay: 0.04s;
  }

  .fw-action:hover {
    box-shadow: 0 10px 24px rgba(0, 0, 0, .18);
    transform: translateY(-2px) scale(1.03);
  }

  .feedback-widget.open .fw-actions {
    pointer-events: auto;
  }

  .feedback-widget.open .fw-action,
  .feedback-widget:hover .fw-action,
  .feedback-widget:focus-within .fw-action {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
  }

  .feedback-widget.open .fw-button__image {
    opacity: 0;
    transform: scale(.9);
  }

  .feedback-widget.open .fw-button__icon {
    opacity: 1;
    transform: scale(1);
  }

  .fw-actions[aria-hidden="true"] .fw-action {
    opacity: 0;
    pointer-events: none;
  }

  @media (max-width:480px) {
    .feedback-widget {
      right: 12px;
      bottom: 12px;
    }
  }