.card-popout {
    position: absolute;
    background: rgba(10, 10, 10, 0.95);
    transform: translateY(0%);
    color: white;
    padding: 20px;
    overflow-y: auto;
    transition: opacity 0.25s ease, transform 0.25s ease;;
    opacity: 0;
    z-index: 50;
    height: 80%;
    display: flex;          /* keep flex */
    justify-content: center; /* horizontally centre */
    align-items: flex-start;
}

.card-popout.active {
    opacity: 1;
    transform: translateY(-100%);
}

.card-popout::-webkit-scrollbar {
  width: 8px;
  opacity: 0;                 /* not actually supported â†’ controlled using JS below */
}

.card-popout::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,0.1);
  border-radius: 6px;
}

/* Firefox */
.card-popout {
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,0.1) transparent;
}

.popout-content {
    max-height: 80%;
    width: 100%;
}

.popout-overview {
    max-height: 300px;
    margin: 10px 0 20px;
}

.info-btn {
    flex: 0 0 auto;
    height: auto;
    line-height: 1;
    padding: 4px 8px;
    border-radius: 10px;
    border: none;
    font-size: 0.9rem;
    font-weight: 600;
    background: rgba(255,255,255,0.06);
    color: white;
    box-shadow: 0 1px 0 rgba(255,255,255,0.04) inset;
    cursor: pointer !important;
    z-index: 45;
}

.info-btn i {
    pointer-events: none;  /* ensures click hits the button, not the icon */
    display: block;
}

.visit-btn, .close-popout {
    margin: 15px 5px;
}

@media (max-width: 480px) {
    .card-popout {
        font-size: 0.8rem;
    }

    .visit-btn, .close-popout {
        font-size: 0.8rem;
        margin: 10px 2px;
    }
}