.tvm-video-hub {
    background: radial-gradient(circle at top, rgba(181, 63, 43, 0.12), transparent 32%), var(--tvm-page-bg);
    color: #1f1a17;
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    padding: 0;
    font-family: Inter, Roboto, "Open Sans", "Noto Sans", "DejaVu Sans", Arial, sans-serif;
    overflow: hidden;
}

.tvm-video-hub * {
    box-sizing: border-box;
}

.tvm-video-hub button,
.tvm-video-hub input,
.tvm-video-hub textarea {
    font: inherit;
}

.tvm-video-hub img {
    display: block;
    max-width: 100%;
}

.tvm-video-hub a,
.tvm-video-hub strong,
.tvm-video-hub h1,
.tvm-video-hub h2,
.tvm-video-hub h3,
.tvm-video-hub p {
    color: inherit;
}

/* v1.0.21 — real source of the top white strip: WP block/shortcode wrappers and empty autop paragraphs before the hub. */
.wp-block-shortcode:has(.tvm-video-hub),
.entry-content:has(.tvm-video-hub) > .wp-block-shortcode:first-child,
.wp-site-blocks:has(.tvm-video-hub) > main:first-child,
.site-content:has(.tvm-video-hub),
.site-main:has(.tvm-video-hub),
.entry-content:has(.tvm-video-hub) {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.entry-content > p:empty:has(+ .tvm-video-hub),
.entry-content > p:empty:has(+ .wp-block-shortcode .tvm-video-hub),
.wp-block-post-content > p:empty:has(+ .tvm-video-hub),
.wp-block-post-content > p:empty:has(+ .wp-block-shortcode .tvm-video-hub) {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* v1.0.22 — source fix for the white top strip on the dedicated hub page. */
body.tvm-video-hub-page {
    margin: 0;
    padding: 0;
    background: var(--tvm-page-bg, #f5f1e8);
}
body.tvm-video-hub-page #page,
body.tvm-video-hub-page .site,
body.tvm-video-hub-page .site-content,
body.tvm-video-hub-page .content-area,
body.tvm-video-hub-page .site-main,
body.tvm-video-hub-page main,
body.tvm-video-hub-page article,
body.tvm-video-hub-page .entry-content,
body.tvm-video-hub-page .wp-block-post-content,
body.tvm-video-hub-page .wp-block-shortcode {
    margin-top: 0;
    padding-top: 0;
}
body.tvm-video-hub-page .tvm-video-hub {
    display: block;
    margin-top: 0;
}

/* v1.0.23 — real strip guard: remove theme/block spacing above the shortcode, not a visual overlay. */
body:has(.tvm-video-hub) .wp-site-blocks,
body:has(.tvm-video-hub) .wp-site-blocks > *,
body:has(.tvm-video-hub) .site,
body:has(.tvm-video-hub) .site-content,
body:has(.tvm-video-hub) .content-area,
body:has(.tvm-video-hub) .site-main,
body:has(.tvm-video-hub) main,
body:has(.tvm-video-hub) article,
body:has(.tvm-video-hub) .entry-content,
body:has(.tvm-video-hub) .wp-block-post-content,
body:has(.tvm-video-hub) .wp-block-shortcode {
    margin-top: 0 !important;
    padding-top: 0 !important;
}
body:has(.tvm-video-hub) .entry-header,
body:has(.tvm-video-hub) .page-header,
body:has(.tvm-video-hub) .wp-block-post-title {
    display: none !important;
}

/* v1.0.24 — source fix: the white strip was the WP admin-bar offset / root block gap on the dedicated hub page. */
body.tvm-video-hub-page .wp-site-blocks,
body.tvm-video-hub-page .wp-site-blocks > * {
    margin-block-start: 0 !important;
    padding-block-start: 0 !important;
}
body.tvm-video-hub-page .wp-site-blocks > * + * {
    margin-block-start: 0 !important;
}

/* TVM 1.0.79 — stabilny reset bez niszczenia góry strony. */
body.tvm-video-hub-page #wpadminbar {
    display: block !important;
}
body.tvm-video-hub-page.admin-bar .tvm-video-hub {
    margin-top: 0 !important;
}
.tvm-video-hub {
    font-family: Inter, Roboto, "Open Sans", "Noto Sans", "DejaVu Sans", Arial, sans-serif !important;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
}
.tvm-video-hub [hidden] {
    display: none !important;
}

/* TVM 1.0.80 — naprawa źródła błędu: nie zerujemy globalnie html/body ani admin-bara.
   Reset zostaje tylko w kontenerach huba, żeby mobile nie ucinał góry strony. */
body.tvm-video-hub-page #wpadminbar {
    display: block !important;
}
body.tvm-video-hub-page.admin-bar {
    padding-top: var(--wp-admin--admin-bar--height, 32px) !important;
}
@media (max-width: 782px) {
    body.tvm-video-hub-page.admin-bar {
        padding-top: 46px !important;
    }
}
body.tvm-video-hub-page .tvm-video-hub,
body:has(.tvm-video-hub) .tvm-video-hub {
    margin-top: 0 !important;
    padding-top: 0 !important;
    clear: both;
}
