/* ── Responsive breakpoints matching Mantine defaults ── */
/* xs: 36em (576px), sm: 48em (768px), md: 62em (992px), lg: 75em (1200px), xl: 88em (1408px) */

/* ── Visibility (mobile-first) ── */
.visible-from-sm { display: flex; }
.visible-from-md { display: flex; }
.visible-from-lg { display: flex; }

@media (max-width: 47.99875em) { .visible-from-sm { display: none !important; } }
@media (max-width: 61.99875em) { .visible-from-md { display: none !important; } }
@media (max-width: 74.99875em) { .visible-from-lg { display: none !important; } }

@media (min-width: 36em) { .hidden-from-xs { display: none !important; } }
@media (min-width: 48em) { .hidden-from-sm { display: none !important; } }
@media (min-width: 62em) { .hidden-from-md { display: none !important; } }

.mobile-only, .hide-desktop { display: block; }
.desktop-only, .hide-mobile { display: block; }

@media (min-width: 48em) { .mobile-only, .hide-desktop { display: none !important; } }
@media (max-width: 47.99375em) { .desktop-only, .hide-mobile { display: none !important; } }

/* ── Header responsive ── */
@media (max-width: 47.99375em) {
	.header-inner {
		height: 4rem;
		padding: 0 1rem;
	}

	.site-branding img {
		max-height: 48px;
	}
}

/* ── Hero responsive ── */
@media (max-width: 47.99875em) {
	.hero-content {
		text-align: center;
		padding: var(--cires-space-xl) var(--cires-gutter);
	}

	.hero p {
		margin: 0 auto;
	}
}

/* ── Footer responsive ── */
@media (max-width: 47.99875em) {
	.footer-grid {
		grid-template-columns: 1fr;
		gap: var(--cires-space-xl);
	}

	.footer-office {
		padding: 0 0 1rem;
		border-bottom: 1px solid var(--cires-color-border-footer);
	}

	.footer-brand {
		text-align: left;
	}
}

@media (max-width: 35.99875em) {
	.footer-grid {
		text-align: left;
	}

	.footer-logo {
		display: flex;
		justify-content: flex-start;
	}

	.footer-desc {
		text-align: left;
	}
}

/* ── Cards responsive ── */
@media (max-width: 47.99875em) {
	.card-body {
		padding: var(--cires-space-md);
	}
}

/* ── Section responsive ── */
@media (max-width: 47.99875em) {
	.section {
		padding: var(--cires-space-3xl) 0;
	}

	.section-header {
		margin-bottom: var(--cires-space-xl);
	}
}

/* ── Page banner responsive ── */
@media (max-width: 47.99875em) {
	.page-banner {
		min-height: 180px;
	}

	.page-banner h1 {
		font-size: var(--cires-text-2xl);
	}
}

/* ── Two column responsive ── */
@media (max-width: 47.99875em) {
	.two-col {
		grid-template-columns: 1fr;
	}

	.two-col-reverse-mobile {
		direction: ltr;
	}

	.two-col-reverse-mobile .two-col-image {
		order: -1;
	}
}

/* ── Breadcrumbs responsive ── */
@media (max-width: 47.99875em) {
	.breadcrumbs {
		font-size: var(--cires-text-xs);
	}
}

/* ── FAQ responsive ── */
@media (max-width: 35.99875em) {
	.accordion-control {
		font-size: var(--cires-text-sm);
		padding: var(--cires-space-md) 0;
	}
}

/* ── Infographic grid responsive ── */
@media (max-width: 47.99875em) {
	.infographic-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Tabs responsive ── */
@media (max-width: 47.99875em) {
	.tabs-list {
		overflow-x: auto;
	}

	.tab-btn {
		flex-shrink: 0;
		flex-basis: 29%;
	}

	.tab-btn:first-child {
		margin-left: var(--cires-space-md);
	}
}

@media (min-width: 36em) {
	.tab-btn {
		flex-shrink: 1;
		flex-grow: 1;
		flex-basis: 0;
	}

	.tab-btn:first-child {
		margin-left: 0;
	}
}

/* ── Single News / Article Content responsive ── */
@media (max-width: 47.99875em) {
	.single-news {
		padding: var(--cires-space-xl) var(--cires-gutter);
	}

	.single-news__content {
		font-size: var(--cires-text-base);
	}

	.single-news__content h2 {
		font-size: var(--cires-h4-size);
		margin: 2rem 0 0.75rem;
	}

	.single-news__content h3 {
		font-size: var(--cires-text-md);
		margin: 1.5rem 0 0.5rem;
	}

	.single-news__content blockquote {
		padding: 1rem 1.25rem;
		margin: 1.5rem 0;
	}

	.single-news__content table {
		font-size: var(--cires-text-xs);
	}

	.single-news__content th,
	.single-news__content td {
		padding: 0.5rem 0.625rem;
	}
}

/* ── Remove double padding when grids sit inside a .container ── */
.container .projects-grid,
.container .news-grid {
	padding-left: 0;
	padding-right: 0;
}

@media (max-width: 47.99875em) {
	.container .projects-toolbar {
		padding-left: 0;
		padding-right: 0;
	}
}

/* ── Search results: single-column grid on mobile for horizontal cards ── */
@media (max-width: 47.99875em) {
	body.search .projects-grid,
	body.search .news-grid {
		grid-template-columns: 1fr;
	}
}

/* ── Breadcrumbs: single-line truncation on mobile ── */
@media (max-width: 47.99875em) {
	.cires-breadcrumbs__list {
		font-size: var(--cires-text-xs);
	}

	.cires-breadcrumbs__item--current span {
		max-width: 120px;
	}
}

