.heatmap-wrapper {
    /* Optional fixed aspect ratio helper – tweak to match your image */
    /*aspect-ratio: 16 / 9; /* remove if your image height should flow naturally */
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
  }

  .offcanvas-body,
  .offcanvas-header {
    padding: 1rem 2rem;
    }

  /* Bigger hit target */
.hotspot{
  position:absolute;
  top:0; left:0;
  width:48px; height:48px;        /* tap-friendly */
  transform:translate(-50%,-50%);
  border:0; background:transparent; outline:none;
  cursor:pointer; z-index:2;
}

/* Keep the visible dot small & centered */
.hotspot-dot{
  position:absolute; top:50%; left:50%;
  width:14px; height:14px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:transparent;
  border:3px solid transparent;
  box-shadow:0 0 0 0 rgba(13,110,253,.35);
  animation:hotspot-pulse 2s infinite;
}

@keyframes hotspot-pulse{
  0%{ box-shadow:0 0 0 0 rgba(226,33,28,.85) }
  70%{ box-shadow:0 0 0 28px rgba(226,33,28,0) }
  100%{ box-shadow:0 0 0 0 rgba(226,33,28,0) }
}


.offcanvas-header {
    background: var(--red);
    color: var(--white);
    }

.offcanvas-header .btn-close {
  filter: invert(1) grayscale(100%) brightness(200%);
}

#drawerContent {
    font-size: 1rem;
    }
.drawer-subhead {
    font-weight: 600;
    }
ul li:before {
    background: url('icon-list-item.svg') no-repeat;
    }

.drawer-inner-content {
    margin-right: 50px;
    }

.accordion-item.alt-style .accordion-button {
    background: var(--black);
    color: var(--white);
    }

.accordion-item.alt-style .accordion-button.collapsed {
    background: var(--red);
    color: var(--white);
    }

.accordion-item.alt-style .accordion-button::after {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e")
    }

.accordion-item.alt-style .accordion-button:focus {
    border-color: transparent;
    outline: none;
    box-shadow: none;
    }

.cc-faux-table p {
    font-size: 1rem;
    line-height: 1.4;
    }

.cc-faux-table p strong {
    position: relative;
    padding-left: 1.25rem;
    }

.cc-faux-table p strong:before {
    content: "";
    display: inline-block;
    height: 16px;
    width: 16px;
    background: url('icon-list-item.svg') no-repeat;
    position: absolute;
    top: .4rem;
    left: 0;
    }

.cc-faux-table svg {
    fill: #26c061;
    height: 36px;
    width: 36px;
    }

    /* Optional: widen drawer on larger screens */
    @media (min-width: 992px) {
      .cc-drawer {
        width: 80%;
      }
    }

    @media (max-width: 922px) {
        .drawer-inner-content {
            margin-right: 0;
        }
    }
