/* ==========================================================================
   RESPONSIVE.CSS — senojflags.com
   Breakpoints, mobile-first overrides for header, hero, sliders, grids,
   footer, and modal. Loaded last so it safely overrides main.css/
   animations.css at narrower viewports.
   ========================================================================== */

@media (max-width: 1200px) {
	.sfl-trending__grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.sfl-article-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 860px) {
	.sfl-nav {
		display: none;
	}

	.sfl-menu-toggle {
		display: flex;
	}

	.sfl-header__inner {
		padding: 0 20px;
	}

	.sfl-continent-row {
		padding: 28px 20px 8px;
	}

	.sfl-swiper__slide {
		width: 168px;
	}

	.sfl-slider-nav {
		display: none;
	}

	.sfl-trending {
		padding: 48px 20px 64px;
	}

	.sfl-trending__grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 14px;
	}

	.sfl-world-map {
		padding: 16px 20px 72px;
	}

	.sfl-world-map__canvas {
		padding: 20px;
	}

	.sfl-footer__columns {
		grid-template-columns: repeat(2, 1fr);
		gap: 28px 16px;
	}

	.sfl-article-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.sfl-header__inner {
		height: 60px;
		padding: 0 16px;
		gap: 12px;
	}

	.sfl-logo__text {
		font-size: 16px;
	}

	.sfl-hero {
		min-height: 70vh;
		padding: 40px 18px;
	}

	.sfl-hero__search {
		flex-wrap: wrap;
		padding: 14px 16px;
		border-radius: var(--sfl-radius-md);
	}

	.sfl-hero__search-input {
		width: 100%;
		order: 1;
	}

	.sfl-hero__search .sfl-button {
		order: 2;
		width: 100%;
	}

	.sfl-hero__cta-row {
		flex-direction: column;
		gap: 14px;
	}

	.sfl-continent-row {
		padding: 24px 16px 4px;
	}

	.sfl-continent-row__header {
		margin-bottom: 14px;
	}

	.sfl-swiper__slide {
		width: 140px;
	}

	.sfl-trending {
		padding: 40px 16px 56px;
	}

	.sfl-trending__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.sfl-world-map {
		padding: 12px 16px 64px;
	}

	.sfl-world-map__canvas {
		padding: 14px;
	}

	.sfl-footer {
		padding: 56px 18px 28px;
	}

	.sfl-footer__columns {
		grid-template-columns: 1fr 1fr;
		gap: 24px 14px;
	}

	.sfl-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.sfl-page-main {
		padding: 48px 18px 72px;
	}

	.sfl-article__title {
		font-size: 28px;
	}

	.sfl-modal__card {
		padding: 28px 22px 24px;
	}
}

@media (max-width: 380px) {
	.sfl-nav__list,
	.sfl-mobile-nav__list {
		gap: 18px;
	}

	.sfl-trending__grid {
		grid-template-columns: 1fr 1fr;
	}

	.sfl-swiper__slide {
		width: 124px;
	}
}

@media (min-width: 1600px) {
	.sfl-header__inner,
	.sfl-continents,
	.sfl-trending,
	.sfl-world-map,
	.sfl-footer__inner {
		max-width: 1600px;
	}
}
