/**
 * Global CLS mitigation: fixed header offset, geo/speedtest shells, stable topbar.
 * Mobile-first; CrUX field CLS. 2026-04-14
 */

/* pad() runs after first paint — reserve ~header height to avoid large downward shift */
@media (max-width: 991px) {
    .wrap {
        padding-top: 72px;
    }
}

@media (min-width: 992px) {
    .wrap {
        padding-top: 80px;
    }
}

/* Telegram promo strip: avoid height jump when font/wrap settles */
@media (max-width: 768px) {
    .tg-bot-topbar {
        min-height: 44px;
        box-sizing: border-box;
    }
}

/* Geo hero: reserve block while typography loads */
@media (max-width: 767px) {
    .geo-page .geo-hero {
        min-height: 320px;
    }
}

@media (min-width: 768px) {
    .geo-page .geo-hero {
        min-height: 380px;
    }
}

/* Speedtest embed / gauge area */
.speedtest-page .speedtest-frame-wrapper {
    min-height: 260px;
}

@media (min-width: 768px) {
    .speedtest-page .speedtest-frame-wrapper {
        min-height: 340px;
    }
}

/* CMS body HTML: unbounded images are a common CLS source */
#main-content .cards-view_content-item img,
#main-content article img {
    max-width: 100%;
    height: auto;
}

/* Vacancy landings: hero block */
@media (max-width: 767px) {
    .vacancy-landing .hero-section {
        min-height: 300px;
    }
}

@media (min-width: 768px) {
    .vacancy-landing .hero-section {
        min-height: 260px;
    }
}
