#photo-carousel { max-width: 960px; }
#photo-carousel .photo-carousel-open {
    display: block;
    width: 100%;
    padding: 0;
    border: 0;
    border-radius: 0.375rem;
    overflow: hidden;
    background: #212529;
    cursor: zoom-in;
}
#photo-carousel .photo-carousel-open:focus-visible {
    outline: 3px solid var(--bs-primary);
    outline-offset: -3px;
}
#photo-carousel .photo-carousel-open img {
    display: block;
    width: 100%;
    height: clamp(220px, 50vw, 540px);
    object-fit: cover;
    object-position: center;
}
#photo-carousel .carousel-caption {
    padding: 1rem;
    border-radius: 0.375rem;
    background: rgba(0, 0, 0, 0.7);
    pointer-events: none;
}
#photo-carousel .carousel-caption h5,
#photo-carousel .carousel-caption p { color: #fff; }
#photo-carousel .carousel-control-prev-icon,
#photo-carousel .carousel-control-next-icon {
    border-radius: 50%;
    background-color: rgba(0, 0, 0, 0.5);
}
#photo-carousel .carousel-indicators { flex-wrap: wrap; }
