/* Shared, opaque page frame: keep content and its spacing above background
   ad skins. Do not change ad nodes, rail controls, iframe dimensions or body. */
body .gvn-page-frame {
 --gvn-page-surface:#fff;
 display:flow-root; position:relative; z-index:1;
 box-sizing:border-box; width:100%; max-width:100%; min-width:0;
 height:auto; min-height:0; margin-inline:auto;
 background-color:var(--gvn-page-surface) !important;
 content-visibility:visible !important; contain-intrinsic-size:none !important;
}
html[data-gvn-theme="dark"] body .gvn-page-frame { --gvn-page-surface:#151515; }
/* Playwire exposes this class while a desktop skin is active. Keep the
   campaign's outer gutters available instead of painting across the viewport. */
body.flex-skin-active .gvn-page-frame { width:min(100%,1225px); }
@media(prefers-color-scheme:dark) {
 html:not([data-gvn-theme]) body .gvn-page-frame { --gvn-page-surface:#151515; }
}
/* Neutralize only template spacing, not campaign-created ad reservations. */
body.gvn-sitewide .gvn-page-frame > main,
body.gvn-sitewide .gvn-page-frame > .gvn-site > main,
body .gvn-page-frame.gvn-homepage > main {
 position:relative; min-width:0;
 background-color:var(--gvn-page-surface) !important;
 margin-bottom:0 !important; padding-bottom:40px !important;
}
body .gvn-page-frame .gvn-sitewide-footer,
body .gvn-page-frame .gvn-footer {
 margin-top:0 !important;
 content-visibility:visible !important; contain-intrinsic-size:none !important;
}
/* The imported Elementor template can also be used without GVN's sitewide
   wrapper. Protect that content surface without changing article contents. */
.elementor .elementor-element.gvn-single-template {
 background-color:#fff !important;
}
html[data-gvn-theme="dark"] .elementor .elementor-element.gvn-single-template { background-color:#151515 !important; }
@media(prefers-color-scheme:dark) {
 html:not([data-gvn-theme]) .elementor .elementor-element.gvn-single-template { background-color:#151515 !important; }
}
@media(max-width:760px) {
 body.gvn-sitewide .gvn-page-frame > main,
 body.gvn-sitewide .gvn-page-frame > .gvn-site > main,
 body .gvn-page-frame.gvn-homepage > main { padding-bottom:28px !important; }
}
