/*
 * Bespoke VRBO template styles, isolated from shared theme presentation.
 * Versioned for cache-safe rollout.
 */
.site-main .container { width: min(100% - 48px, 1200px); max-width: none; margin: 0 auto; }
.site-main .page-hero { width: 100%; max-width: none; max-height: 560px; overflow: hidden; }
.site-main .page-hero img, .site-main .pc-image img, .site-main .cat-new-image img, .site-main .ca-image img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: cover; }
.site-main .page-hero img { min-height: 280px; }
.site-main .home-header, .site-main .cat-cta { max-width: 780px; margin: 72px auto; text-align: center; }
.site-main .browse-cat, .site-main .cat-new, .site-main .category-articles { margin: 72px 0; }
.site-main .parent-cats, .site-main .cat-new > ul, .site-main .articles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin: 0; padding: 0; list-style: none; }
.site-main .pc-image, .site-main .cat-new-image, .site-main .ca-image { overflow: hidden; border-radius: 4px; }
.site-main .pc-image img { aspect-ratio: 4 / 3; }
.site-main .cat-new-image { aspect-ratio: 3 / 2; }
.site-main .cat-featured { margin: 80px 0; overflow: hidden; border-radius: 4px; background: #f0f6f5; }
.site-main .cat-featured-image { min-height: 360px; background-position: center; background-size: cover; }
.site-main .featured-content, .site-main .article-content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; padding: 40px; }
.site-main .articles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.site-main .articles > li { overflow: hidden; border-radius: 4px; background: #f7f7f7; }
.site-main .ca-image { aspect-ratio: 16 / 9; border-radius: 0; }
@media (max-width: 720px) {
	.site-main .container { width: min(100% - 32px, 1200px); }
	.site-main .parent-cats, .site-main .cat-new > ul, .site-main .articles, .site-main .featured-content, .site-main .article-content { grid-template-columns: 1fr; }
	.site-main .home-header, .site-main .cat-cta, .site-main .browse-cat, .site-main .cat-new, .site-main .category-articles, .site-main .cat-featured { margin: 48px 0; }
	.site-main .featured-content, .site-main .article-content { gap: 20px; padding: 28px; }
}
