/* Wrapper: full viewport; highest z-index so character and staff are never hidden by panels/cards */
#hero3d-viewport-wrapper {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none;
  z-index: 2147483647 !important;
  overflow: visible !important;
  isolation: isolate; /* own stacking context so nothing draws above her */
}

#hero3d-viewport-wrapper * {
  pointer-events: none;
}

#hero3d-viewport-wrapper #character-container canvas {
  pointer-events: auto; /* allow click on character */
}

/* Character in red zone: right edge of viewport; JS also sets position fixed + right: 0 */
#character-container {
  position: fixed !important;
  bottom: 0 !important;
  left: auto !important;
  right: -80px !important;
  margin: 0 !important;
  width: 480px;
  height: 700px;
  pointer-events: none;
  z-index: 2147483647 !important;
  overflow: visible !important;
  background: none !important;
}

#character-container canvas {
  width: 100%;
  height: 100%;
  position: relative !important;
  z-index: 2147483647 !important;
  background: transparent !important;
  transform: none;
}

/* Ensure panel sections don't cover character */
#panel-wrapper,
#panel-wrapper .access,
#panel-wrapper .access > section {
  position: relative !important;
  z-index: 1 !important;
}

#panel-wrapper {
  overflow: visible !important;
  padding-bottom: 2rem;
}

/* Prevent tags from being cut off by TOC */
.post-meta,
.post-tags {
  margin-bottom: 2rem !important;
  padding-bottom: 1rem !important;
}

/* COMPLETELY DISABLE SHIMMER AND BACKGROUNDS */
.shimmer,
.shimmer::before,
.preview-img.shimmer,
.preview-img.shimmer::before {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
  animation: none !important;
  display: block !important;
}

.shimmer::before {
  content: none !important;
  display: none !important;
}

/* Remove ALL backgrounds from preview images */
.preview-img:not(.no-bg),
.preview-img,
#post-list .preview-img,
#post-list .col-md-5 .preview-img,
#post-list .card .preview-img {
  background: none !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Fix col-md-5 container sizing */
#post-list .col-md-5 {
  padding: 0 !important;
  display: flex !important;
  align-items: stretch !important;
}

#post-list .card .preview-img {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
}

#post-list .card .preview-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

/* Custom Cursor */
@media (min-width: 769px) {
  *, *::before, *::after { cursor: none !important; }
}

.custom-cursor { display: none; }
