.osada-image-panorama {
    --panorama-background: 41, 12, 4;
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 1;
    overflow: hidden;
    isolation: isolate;
}

.osada-image-panorama > a,
.osada-image-panorama picture {
    display: block;
    width: 100%;
    height: 100%;
}

.osada-image-panorama img.ccm-image-block {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: cover;
    object-position: center;
}

.osada-image-panorama::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(
        to bottom,
        rgba(var(--panorama-background), 1) 0%,
        rgba(var(--panorama-background), 0.65) 12%,
        rgba(var(--panorama-background), 0.25) 30%,
        rgba(var(--panorama-background), 0) 55%
    );
}

.osada-image-panorama > a:focus-visible {
    outline: 2px solid #c1a559;
    outline-offset: -4px;
}

@media (max-width: 767.98px) {
    .osada-image-panorama {
        aspect-ratio: 2 / 1;
    }
}

.osada-image-panorama-ornament {
    position: absolute;
    top: clamp(12px, 3vw, 36px);
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 16px;
    width: min(70%, 420px);
    opacity: 0.65;
    pointer-events: none;
}

.osada-image-panorama-ornament::before,
.osada-image-panorama-ornament::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(to right, transparent, #fff);
}

.osada-image-panorama-ornament::after {
    transform: rotate(180deg);
}

.osada-image-panorama-ornament > span {
    flex: 0 0 60px;
    height: 30px;
    background: url('../../../../themes/theme/resources/dist/images/icons/ornament2.svg') no-repeat center / contain;
}
