.tu-ad-slot {
    box-sizing: border-box;
    width: calc(100% - 32px);
    max-width: 1400px;
    margin: 32px auto;
}
.tu-ad-creative,
.tu-ad-creative :is(img,video) {
    display: block;
    width: 100%;
    margin: 0;
}
.tu-ad-creative :is(img,video) { height: auto; }
.tu-ad-slot .tu-ad-creative { aspect-ratio: var(--tu-ad-ratio, auto); overflow: hidden; }
.tu-ad-slot .tu-ad-creative :is(img,video) { height: 100%; object-fit: contain; }
.tu-ad-creative:focus-visible,
.tu-ad-sponsor a:focus-visible { outline: 3px solid #0781ef; outline-offset: 4px; }
.tu-ad-slot--top { --tu-ad-ratio: 1400 / 150; width: 100%; max-width: 1440px; margin: 12px auto; }
.tu-ad-slot--top_single_block_inner_page { --tu-ad-ratio: 1400 / 300; }
.tu-ad-slot--top_small_single_block_inner_page { --tu-ad-ratio: 1400 / 165; }
.tu-ad-slot--top_left,
.tu-ad-slot--top_right { --tu-ad-ratio: 250 / 800; }
.tu-ad-slot--between_news { --tu-ad-ratio: 342 / 565; width: 100%; max-width: 342px; margin: 0 auto; align-self: start; }
.tu-ad-slot--sidebar_top,
.tu-ad-slot--sidebar_down { --tu-ad-ratio: 196 / 260; width: 100%; max-width: 196px; margin: 0 auto; }
/* The three homepage placements and their shared uses have one tall format. */
.tu-ad-slot--top_single,
.tu-ad-slot--after_block,
.tu-ad-slot--after_block_2,
.tu-ad-slot__desktop { --tu-ad-ratio: 1440 / 276; }
.tu-ad-slot--top_single_mobile,
.tu-ad-slot--after_block_mobile,
.tu-ad-slot--after_block_mobile_2,
.tu-ad-slot__mobile { --tu-ad-ratio: 390 / 333; }
.tu-ad-slot.tu-ad-slot--responsive,
.tu-ad-slot.tu-ad-slot--top_single,
.tu-ad-slot.tu-ad-slot--top_single_mobile,
.tu-ad-slot.tu-ad-slot--after_block,
.tu-ad-slot.tu-ad-slot--after_block_mobile,
.tu-ad-slot.tu-ad-slot--after_block_2,
.tu-ad-slot.tu-ad-slot--after_block_mobile_2 {
    width: 100%;
    max-width: 1440px;
    margin: 0;
}
.tu-ad-slot--responsive .tu-ad-creative { max-width: none; }
.tu-ad-slot--home-promo { border-top: 9px solid #0781ef; }
.tu-ad-slot__mobile { display: none; }
.tu-ad-slot__all-sizes { display: block !important; }
.tu-ad-sponsors {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 16px;
    margin: 0 auto;
    max-width: 1432px;
    background: #f0f4ff;
}
.tu-ad-sponsor { max-width: calc(50% - 6px); font: 700 14px/1.35 Involve, Arial, sans-serif; }
.tu-ad-sponsor > span,
.tu-ad-sponsor > a { display: block; color: #0a0e1a; }
.tu-ad-sponsor img { display: block; width: 240px; max-width: 100%; height: auto; aspect-ratio: 4 / 1; object-fit: contain; }
.tu-ad-rail { display: none; }
.tu-ad-content-main { min-width: 0; width: 100%; max-width: 1440px; margin: 0 auto; }
.tu-detail__sidebar { min-width: 0; display: flex; flex-direction: column; gap: 32px; align-self: start; }
.tu-detail__sidebar .tu-detail__aside { width: 100%; position: static; }
.tu-detail--editorial .tu-detail__sidebar { display: grid; grid-template-columns: 196px minmax(0, 1fr) 196px; gap: 32px; align-items: start; }
.tu-detail--editorial .tu-detail__sidebar:not(:has([data-ad-position])) { display: block; }
.tu-detail--editorial .tu-detail__sidebar:has([data-ad-position="sidebar_top"]):not(:has([data-ad-position="sidebar_down"])) { grid-template-columns: 196px minmax(0, 1fr); }
.tu-detail--editorial .tu-detail__sidebar:has([data-ad-position="sidebar_down"]):not(:has([data-ad-position="sidebar_top"])) { grid-template-columns: minmax(0, 1fr) 196px; }
/* Scaled rails fit outside the page: 188 + 12 + 1440 + 12 + 188 = 1840px. */
@media (min-width: 1841px) {
    .tu-ad-content-frame { display: grid; grid-template-columns: 188px minmax(0, 1440px) 188px; gap: 12px; width: 100%; max-width: 1840px; margin: 0 auto; }
    .tu-ad-rail { display: block; position: sticky; top: 18px; align-self: start; margin-top: 0; }
    .tu-ad-rail .tu-ad-creative { height: min(602px, calc(100vh - 36px)); }
    .tu-ad-rail img { height: 100%; object-fit: contain; }
}
@media (min-width: 768px) {
    .tu-ad-slot--top_single_block_inner_page,
    .tu-ad-slot--top_small_single_block_inner_page { margin-top: 24px; margin-bottom: 24px; }
}
@media (max-width: 991px) {
    .tu-detail--editorial .tu-detail__sidebar { display: flex; }
}
@media (max-width: 767px) {
    .tu-ad-slot { margin-top: 24px; margin-bottom: 24px; }
    .tu-ad-slot--between_news { margin: 0 auto; }
    .tu-ad-slot__desktop { display: none; }
    .tu-ad-slot__mobile { display: block; }
    .tu-ad-slot--home-promo { border-top-width: 6px; }
    .tu-ad-slot--sidebar_top,
    .tu-ad-slot--sidebar_down { margin: 0 auto; }
}

/* Dedicated catalog-profile promo: Figma 2176:418 / 2178:1490.
   Keep source-specific ratios when a single creative falls back to all sizes. */
.tu-ad-slot.tu-ad-slot--detail-promo {
    width: 100%;
    max-width: 1440px;
    margin: 0;
}
.tu-ad-slot--detail-promo .tu-ad-slot__desktop { --tu-ad-ratio: 1440 / 276; }
.tu-ad-slot--detail-promo .tu-ad-slot__mobile { --tu-ad-ratio: 390 / 333; }
.tu-ad-slot--detail-promo .tu-ad-creative { max-width: none; }
@media (max-width: 767px) {
    .tu-directory-detail + .tu-directory__divider { display: none; }
}
