/* Layout pieces that WPBakery (js_composer.css) used to provide, plus small fixes
   for markup that differs from the original theme. Loaded after the Huber CSS. */

.vc_row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.vc_row > [class*='vc_col-'] { padding: 0 15px; box-sizing: border-box; width: 100%; }
@media (min-width: 768px) {
  .vc_col-sm-3 { width: 25% !important; }
  .vc_col-sm-4 { width: 33.3333% !important; }
  .vc_col-sm-8 { width: 66.6667% !important; }
}
/* Homepage tiles sit on the dark band that continues the featured box (WPBakery row vc_custom_1613256764767) */
.gp-home-tiles-band { background: #212121; }
.gp-home-tiles > [class*='vc_col-'] { padding: 1em 2.5px 0 !important; }
.gp-home-tiles { margin: 0 -2.5px; }
.gp-home-tiles .gp-loop-title a { color: #fff; }
.gp-home-tiles .gp-loop-content { padding: 10px 0 20px; }
.gp-home-main { margin-top: 10px; }
/* Sidebar column: vc_custom_1553606347301 */
.gp-home-main > .vc_col-has-fill { margin-top: 15px; border-left: 2px solid #e5e5e5; }

/* Homepage tiles: fixed 780x500 crop like the theme's image size */
.gp-home-tiles .gp-post-thumbnail img { width: 100%; aspect-ratio: 780 / 500; object-fit: cover; display: block; }

/* Feed list: 250x135 thumbnail */
.gp-blog-list .gp-post-thumbnail img { width: 250px; aspect-ratio: 250 / 135; object-fit: cover; }

/* Archive grid: 576x356 crop */
.gp-blog-columns-3 .gp-post-thumbnail img { width: 100%; aspect-ratio: 576 / 356; object-fit: cover; display: block; }

/* Sidebar: first review shows its 576x356 image; polls/quiz use 231x231 square thumbnails */
.gp-site-sidebar .gp-large-post .gp-post-item { display: block; float: none; width: 100%; }
.gp-site-sidebar .gp-large-post .gp-post-thumbnail { width: 100%; }
.gp-site-sidebar .gp-large-post .gp-post-thumbnail img { width: 100%; aspect-ratio: 576 / 356; object-fit: cover; display: block; }
.gp-side-list .gp-post-thumbnail img { width: 130px; aspect-ratio: 1; object-fit: cover; }

/* Article body: images and embeds never overflow */
.gp-entry-content img { max-width: 100%; height: auto; }
.gp-entry-content iframe, .gp-entry-content video { max-width: 100%; }
.gp-entry-content iframe[src*='youtube'], .gp-entry-content iframe[src*='twitch'] { width: 100%; height: auto; aspect-ratio: 16 / 9; }

/* Jetpack tiled galleries: fixed pixel sizes from WordPress become fluid rows */
.tiled-gallery .gallery-row { display: flex; gap: 4px; width: auto !important; height: auto !important; margin-bottom: 4px; }
.tiled-gallery .gallery-group { flex: 1 1 0; width: auto !important; height: auto !important; }
.tiled-gallery img { width: 100% !important; height: auto !important; display: block; }

/* Review facts box (genre, developer, publisher) */
.gp-review-facts { background: #f5f5f5; border-left: 4px solid #1967eb; padding: 12px 16px; margin: 0 0 25px; font-size: 15px; line-height: 22px; }
.gp-review-facts span { font-weight: 600; }


.gp-meta-cats a { color: inherit; }
.gp-archive-header { margin-bottom: 25px; }

/* Search page */
#search { margin: 20px 0 60px; --pagefind-ui-primary: #1967eb; --pagefind-ui-font: 'Open Sans', Arial, sans-serif; }

/* Mobile */
@media (max-width: 767px) {
  .gp-blog-list .gp-post-thumbnail img { width: 120px; }
  .gp-home-tiles > [class*='vc_col-'] { margin-bottom: 20px; }
}
