.program-card__media,
.result-card__media {
    display: block;
    aspect-ratio: 3 / 4;
    border-radius: var(--radius-control);
    overflow: hidden;
    position: relative;
    background:
        linear-gradient(160deg, rgba(255, 255, 255, 0.88), rgba(232, 240, 249, 0.96)),
        var(--color-surface-soft);
    border: 1px solid rgba(13, 103, 199, 0.08);
}

.program-card__media {
    align-self: start;
    min-height: 0;
    height: auto;
    box-shadow: 0 10px 24px rgba(7, 28, 56, 0.04);
}

.result-card__media {
    min-height: 0;
    height: auto;
    box-shadow: 0 10px 24px rgba(7, 28, 56, 0.04);
}

.program-card__media::after,
.result-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(10, 23, 48, 0) 38%, rgba(10, 23, 48, 0.28) 100%);
    pointer-events: none;
}

.program-card__media-image,
.result-card__media-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.28s ease;
}

.program-card__media:hover .program-card__media-image,
.result-card__media:hover .result-card__media-image {
    transform: scale(1.03);
}

.program-card__media-hint,
.result-card__media-hint {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border-radius: var(--radius-round);
    background: rgba(255, 255, 255, 0.92);
    color: #ffffff;
    backdrop-filter: blur(10px);
    box-shadow: 0 10px 24px rgba(7, 28, 56, 0.12);
}

.program-card__media-hint::before,
.result-card__media-hint::before {
    content: "";
    position: absolute;
    inset: 5px;
    border-radius: var(--radius-round);
    background: rgba(13, 103, 199, 0.9);
}

.program-card__media-icon,
.result-card__media-icon {
    position: relative;
    z-index: 1;
    width: 18px;
    height: 18px;
}

.media-placeholder {
    position: relative;
    height: 100%;
    min-height: 320px;
    border-radius: var(--radius-control);
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
        radial-gradient(circle at 18% 18%, rgba(2, 189, 210, 0.26), transparent 20%),
        radial-gradient(circle at 78% 78%, rgba(13, 103, 199, 0.2), transparent 28%),
        linear-gradient(135deg, #deebf7 0%, #f6fbff 100%);
    overflow: hidden;
}

.media-placeholder img,
.media-placeholder picture,
.media-placeholder picture img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.media-placeholder img,
.media-placeholder picture img {
    object-fit: cover;
    object-position: center;
}

.media-placeholder span {
    position: absolute;
    left: 26px;
    bottom: 26px;
    max-width: 220px;
    color: var(--color-accent-strong);
    font-size: 18px;
    font-weight: 500;
}

.media-placeholder--alt {
    background:
        linear-gradient(145deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0)),
        radial-gradient(circle at 24% 72%, rgba(2, 189, 210, 0.22), transparent 24%),
        radial-gradient(circle at 84% 20%, rgba(13, 103, 199, 0.18), transparent 20%),
        linear-gradient(135deg, #f0f7fc 0%, #ddeaf8 100%);
}

body .fslightbox-toolbar {
    background: transparent;
}

body .fslightbox-slide-btn {
    background: rgba(168, 168, 168, 0.58);
    border: 1px solid rgba(234, 234, 234, 0.12);
    border-radius: var(--radius-round);
    transition: all 0.3s ease;
}

body .fslightbox-toolbar-button .fslightbox-svg-path {
    fill: var(--color-text);
}

body .fslightbox-slide-btn .fslightbox-svg-path {
    fill: rgba(255, 255, 255, 0.92);
    opacity: 1;
}

body .fslightbox-container {
    z-index: 1000;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    background: rgba(255, 255, 255, 0.7);
}
