#satellite-modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.95);
  z-index: 9999;
  display: flex;
  flex-direction: column;
}

#satellite-modal.hidden {
  display: none;
}

.satellite-header {
  color: white;
  padding: 12px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.satellite-viewer {
  flex: 1;
}

/* Overlay */
.overlay {
  background: rgba(0, 0, 0, 0.15);
  opacity: 0;
  transition: opacity 0.2s;
  pointer-events: none;
  /* clicks go through */
}

.ratio:hover .overlay,
.ratio:focus .overlay {
  opacity: 1;
}

/* Always visible on mobile */
@media (max-width: 768px) {
  .ratio .overlay {
    opacity: 1;
  }
}

zoomable-photo {
  img {
    transition: transform 0.2s, box-shadow 0.2s;
    cursor: pointer;
  }

  img:hover,
  img:focus {
    transform: scale(1.03);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  }
}