/**
 * CHF Theme — Responsive
 * Breakpoints: 900px (tablet), 600px (mobile), 400px (small mobile)
 */

/* ==========================================================================
   TABLET (max-width: 900px)
   ========================================================================== */

@media (max-width: 900px) {
	/* Stats grid */
	.sg {
		grid-template-columns: repeat(3, 1fr);
	}

	/* Publication, thematic, story, YouTube, news, about, contact, two-col, footer grids */
	.pg,
	.tg,
	.sgg,
	.yg,
	.nl,
	.ag,
	.cg,
	.two-col,
	.fg {
		grid-template-columns: 1fr;
	}

	/* Team grid */
	.tm {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Multimedia grid */
	.mg-grid {
		grid-template-columns: 1fr 1fr;
	}

	/* Photo gallery */
	.pgal {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Values grid */
	.vg {
		grid-template-columns: 1fr 1fr;
	}

	/* Impact grid */
	.impact-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Values pillars */
	.values-pillars {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Section header stacking */
	.sh {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.8rem;
	}

	/* Hero adjustments */
	.hero {
		height: 70vh;
		min-height: 420px;
	}

	.slide-c {
		padding: 0 2rem 3rem;
	}

	/* About image */
	.aimg img {
		height: 280px;
		object-position: top;
	}

	/* Job cards */
	.jcard {
		flex-direction: column;
		gap: 1rem;
	}

	.abtn {
		margin-left: 0;
		align-self: flex-start;
	}

	/* Story cards */
	.sm {
		height: 300px;
	}

	.ss {
		height: 200px;
	}

	/* YouTube featured */
	.yf {
		min-height: 220px;
	}

	/* Search */
	.rsrch {
		flex-direction: column;
	}
}

/* ==========================================================================
   MOBILE (max-width: 600px)
   ========================================================================== */

@media (max-width: 600px) {
	/* Stats grid */
	.sg {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Podcast grid — single column on mobile */
	.podcast-grid {
		grid-template-columns: 1fr;
	}

	/* Team grid */
	.tm {
		grid-template-columns: 1fr;
	}

	.tcard img {
		height: 300px;
	}

	/* Multimedia grid */
	.mg-grid {
		grid-template-columns: 1fr;
	}

	/* Container padding */
	.inner {
		padding: 0 1rem;
	}

	/* Section padding */
	.sec {
		padding: 3rem 0;
	}

	.sdark {
		padding: 3rem 0;
	}

	/* Page hero */
	.ph {
		padding: 3rem 0 2.5rem;
	}

	/* Hero */
	.hero {
		height: 60vh;
		min-height: 380px;
	}

	.slide-c {
		padding: 0 1.5rem 2rem;
	}

	/* Photo gallery */
	.pgal {
		grid-template-columns: 1fr 1fr;
	}

	/* Values */
	.vg {
		grid-template-columns: 1fr;
	}

	/* Impact */
	.impact-grid {
		grid-template-columns: 1fr;
	}

	/* Values pillars */
	.values-pillars {
		grid-template-columns: 1fr 1fr;
	}

	/* Newsletter */
	.nf {
		flex-direction: column;
	}

	.nf input {
		min-width: auto;
	}

	/* Hero arrows */
	.harr {
		display: none;
	}

	/* Reel items */
	.ri {
		width: 200px;
	}

	/* News image */
	.nc {
		flex-direction: column;
	}

	.nim {
		width: 100%;
		height: 160px;
	}
}

/* Two-column layouts — stack on tablet */
@media (max-width: 900px) {
	.vacancy-layout--two-col,
	.news-layout,
	.event-layout,
	.podcast-single-layout,
	.pub-layout {
		grid-template-columns: 1fr;
	}
	.vacancy-sidebar,
	.news-sidebar,
	.event-sidebar,
	.podcast-single-sidebar,
	.pub-sidebar {
		position: static;
	}
	.podcast-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.story-gallery-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   SMALL MOBILE (max-width: 400px)
   ========================================================================== */

@media (max-width: 400px) {
	/* Stats grid */
	.sg {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}
