/* Рекламные места amz-store (по образцу tools.ceoneuro.com). Скрыты, пока ads.js их не заполнит. */
.ad-slot { display: none; position: relative; align-items: center; justify-content: center; margin: 34px auto 24px; width: 100%; }
.ad-slot.ad-on { display: flex; }
.ad-slot::before { content: attr(data-label); position: absolute; top: -20px; left: 0; font-family: var(--font-label, monospace); font-size: 10px; color: var(--ink-soft, #6b5d4f); letter-spacing: .08em; text-transform: uppercase; }
.ad-top, .ad-footer, .ad-section { max-width: 1280px; width: calc(100% - 48px); min-height: 90px; }
.ad-section { margin: 40px auto 8px; }
.ad-result { max-width: 336px; min-height: 250px; }
/* Рельса справа от статьи на всю её высоту; блок внутри прилипает при скролле */
.ad-rail { position: absolute; top: 0; bottom: 0; left: 100%; margin-left: 28px; width: 300px; }
.ad-sidebar { position: sticky; top: 20px; margin: 120px 0 0; width: 300px; min-height: 600px; }
.ad-slot picture, .ad-slot img { max-width: 100%; }
.article-page { position: relative; }
@media (max-width: 1439px) { .ad-rail { display: none !important; } }
@media (max-width: 639px) {
    .ad-top, .ad-footer, .ad-section { width: calc(100% - 32px); min-height: 100px; }
    .ad-result { max-width: 300px; }
}
body.debug .ad-slot { display: flex; outline: 2px dashed #9c6f2e; background: repeating-linear-gradient(45deg, #f5f1e7, #f5f1e7 10px, #ede5d3 10px, #ede5d3 20px); }
body.debug .ad-slot::after { content: attr(data-size); color: #6b5d4f; font-size: 13px; }