/* Homepage sections share a small edge gutter without a desktop width cap.
   Header, footer and inner-page containers keep their own sizing. */
body:has([data-hero]) { --vo-home-gutter: 12px; }
body:has([data-hero]) main :is(.vo-shell,.vo-editorial-shell,.vo-promotion-banner),
body:has([data-hero]) .vo-sticky-offer > .vo-shell {
    width: 100%;
    max-width: none;
    padding-inline: var(--vo-home-gutter);
}
body:has([data-hero]) main .vo-shell :is(.vo-shell,.vo-editorial-shell,.vo-promotion-banner) {
    padding-inline: 0;
}
body:has([data-hero]) main .vo-campaign {
    padding-inline: var(--vo-home-gutter);
}
@media(min-width:640px) {
    body:has([data-hero]) { --vo-home-gutter: 16px; }
}
@media(min-width:1024px) {
    body:has([data-hero]) { --vo-home-gutter: 24px; }
    body:has([data-hero]) main [data-rail-region] > [data-rail-prev] {
        inset-inline-start: 4px;
        inset-inline-end: auto;
    }
    body:has([data-hero]) main [data-rail-region] > [data-rail-next] {
        inset-inline-start: auto;
        inset-inline-end: 4px;
    }
}
