/* Рекламные места OrchestraLife. */
.olf-ad-slot {
    width: min(100%, 980px);
    margin: 28px 0;
    padding: clamp(12px, 1.6vw, 18px);
    background: var(--olf-surface);
    border: 1px solid var(--olf-border);
    box-shadow: 0 12px 28px rgba(32, 24, 18, 0.07);
}

.olf-ad-slot__label {
    margin: 0 0 8px;
    color: var(--olf-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.olf-ad-slot__content > :first-child {
    margin-top: 0;
}

.olf-ad-slot__content > :last-child {
    margin-bottom: 0;
}

/* Внутри страницы материала вертикальный ритм задаёт .olf-material-main gap. */
.olf-material-main > .olf-ad-slot {
    width: 100%;
    margin: 0;
}

.olf-material-main > .olf-ad-slot--material-after-intro {
    padding: 12px 18px;
    box-shadow: none;
}

.olf-materials-grid .olf-ad-slot--materials-list-inline {
    grid-column: 1 / -1;
    width: 100%;
    margin: 0;
}

.olf-ad-slot--floor-bottom {
    position: fixed;
    z-index: 9999;
    right: clamp(14px, 3vw, 32px);
    bottom: clamp(14px, 3vw, 32px);
    left: clamp(14px, 3vw, 32px);
    width: min(980px, calc(100% - 28px));
    margin: 0 auto;
    box-shadow: 0 22px 60px rgba(32, 24, 18, 0.22);
}

.admin-bar .olf-ad-slot--floor-bottom {
    bottom: calc(clamp(14px, 3vw, 32px) + 32px);
}

@media (max-width: 782px) {
    .admin-bar .olf-ad-slot--floor-bottom {
        bottom: calc(clamp(14px, 3vw, 32px) + 46px);
    }
}

.olf-home > .olf-ad-slot--home-before-library-updates {
    width: 100%;
    margin: clamp(30px, 5vw, 54px) 0 0;
}
