/* Overview: size the photo independently from its intrinsic grid dimensions.
   The frame reserves space; contain keeps every edge of the saved image visible. */
.dashboard-page .dashboard-section .court-image {
    position: relative;
    display: block;
    width: 100%;
    height: auto !important;
    min-height: 0;
    aspect-ratio: 16 / 9;
    background: #eef4f1;
}

.dashboard-page .dashboard-section .court-image img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain !important;
    object-position: center;
    background: #eef4f1;
}

/* Preserve the centered sport icon for courts without an uploaded photo. */
.dashboard-page .dashboard-section .court-image > span:not(.status-pill) {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
}
