/* BBVote theme — breakpoints (mobile-first; base styles in main.css). */

@media (min-width: 560px) {
	.contestant-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lineup { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.post-row { grid-template-columns: 220px 1fr; align-items: start; }
	.post-row:not(:has(.post-row__media)) { grid-template-columns: 1fr; }
	.profile__head-inner { grid-template-columns: auto 1fr; }
}

@media (min-width: 760px) {
	.news-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.history-grid { grid-template-columns: 1.4fr 1fr; }
	.site-footer__inner { grid-template-columns: 1.5fr 1fr 1fr; }
}

@media (min-width: 900px) {
	.contestant-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.hero__inner { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 3rem; }
	.layout-sidebar { grid-template-columns: minmax(0, 1fr) 320px; align-items: start; }
}

/* Desktop navigation: inline menu, header stays in flow (no sticky header to protect small screens). */
@media (min-width: 1080px) {
	.nav-toggle { display: none; }
	.site-header__inner { flex-wrap: nowrap; }
	.site-nav, .site-nav.is-open { display: flex; align-items: center; gap: 1rem; flex-basis: auto; margin-left: auto; padding: 0; }
	.site-nav .menu { display: flex; gap: .15rem; }
	.site-nav .menu a { border: 0; padding: .5rem .65rem; border-radius: 999px; font-size: .97rem; }
	.site-nav .menu a[aria-current="page"] { background: rgba(255,255,255,.1); }
	.header-search { margin-top: 0; width: 210px; }
	.lineup { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.4rem 1rem; }
}

@media (min-width: 1280px) {
	.header-search { width: 240px; }
}

@media print {
	.site-header, .site-footer, .bbv-poll__form, .nav-toggle, .layout-sidebar__aside { display: none !important; }
	body { background: #fff; }
}

/* live tracker additions */
@media (min-width: 560px) { .steps { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 760px) { .mobile-bar { display: none; } body { padding-bottom: 0; } .header-cta { display: inline-flex; } }
@media (min-width: 1080px) { .theme-toggle { margin-left: .5rem; order: 3; } .header-cta { order: 2; margin-left: .75rem; } }
.site-nav .menu a, .header-cta { white-space: nowrap; }
@media (min-width: 1080px) and (max-width: 1399px) {
	/* The hero carries its own contestant search; keep the header on one line on laptops. */
	.site-nav .header-search { display: none; }
	.site-nav .menu a { padding: .5rem .5rem; font-size: .93rem; }
}
