/**
 * Nauru Judiciary CMS — consolidated responsive fixes for shortcodes & court profiles.
 * Loaded after frontend.css; complements per-module breakpoints in component stylesheets.
 */

/* --- Scoped overflow guard (listing / section roots only) --- */
.njcms-design-section,
.njcms-page-chrome,
.njcms-forms,
.njcms-fees,
.njcms-fee-tables,
.njcms-announcements,
.njcms-decisions,
.njcms-courts,
.njcms-guides,
.njcms-reports,
.njcms-registry-bundle,
.njcms-staff,
.njcms-vacancies,
.njcms-about-section,
.njcms-registrar,
.njcms-contact-page,
body.njcms-court-single .njcms-court-single-wrap,
body.njcms-court-guide-single .njcms-court-guide-single-wrap {
	max-width: 100%;
	box-sizing: border-box;
}

/* --- C. Card grids --- */
.njcms-courts__grid,
.njcms-guides__grid,
.njcms-reports__grid,
.njcms-decisions__grid,
.njcms-about-values__grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}

@media (max-width: 480px) {
	.njcms-reports__grid,
	.njcms-decisions__grid {
		grid-template-columns: 1fr;
	}
}

/* --- D. Court profile --- */
@media (max-width: 639px) {
	body.njcms-court-single .njcms-court-hero {
		padding: 1.15rem;
	}

	body.njcms-court-single .njcms-court-hero__summary {
		max-width: none;
	}

	body.njcms-court-single .njcms-court-chip-grid {
		grid-template-columns: 1fr;
	}

	body.njcms-court-single .njcms-court-list__card {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 0.75rem;
		padding: 0.85rem 0.9rem;
	}

	body.njcms-court-single .njcms-court-panel__row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.65rem;
	}

	body.njcms-court-single .njcms-court-keyinfo-item {
		padding: 0.85rem 1rem;
	}

	body.njcms-court-single .njcms-court-cta__btn,
	body.njcms-court-single .njcms-court-single__btn--back {
		display: flex;
		width: 100%;
		max-width: 22rem;
		margin-inline: auto;
		min-height: 2.75rem;
	}
}

/* --- E. Tables (scroll inside wrapper only) --- */
.njcms-fees__table-wrap,
.njcms-fee-tables__table-wrap {
	max-width: 100%;
	-webkit-overflow-scrolling: touch;
	overscroll-behavior-x: contain;
}

.njcms-fees__table-wrap table,
.njcms-fee-tables__table-wrap table {
	margin-bottom: 0;
}

/* --- F. Filters & forms --- */
@media (max-width: 767px) {
	.njcms-forms__filters,
	.njcms-fees__filters {
		flex-direction: column;
		align-items: stretch;
	}

	.njcms-forms__filter,
	.njcms-fees__filter,
	.njcms-reports__filter,
	.njcms-decisions__filter,
	.njcms-filter-chip {
		width: 100%;
		justify-content: center;
		min-height: 2.75rem;
	}

	.njcms-reports__filter-row,
	.njcms-decisions__filter-row {
		flex-direction: column;
		align-items: stretch;
	}

	.njcms-reports__filter-label,
	.njcms-decisions__filter-label {
		width: 100%;
		margin-bottom: 0.25rem;
	}

	.njcms-forms__actions,
	.njcms-reports__actions,
	.njcms-decisions__row-actions,
	.njcms-announcements__list-actions,
	.njcms-courts__actions,
	.njcms-guides__actions {
		flex-direction: column;
		align-items: stretch;
	}

	.njcms-forms__btn,
	.njcms-reports__btn,
	.njcms-decisions__btn,
	.njcms-announcements__btn,
	.njcms-courts__btn,
	.njcms-guides__btn {
		width: 100%;
		justify-content: center;
		min-height: 2.75rem;
		text-align: center;
	}
}

@media (max-width: 640px) {
	.njcms-announcements__list-main,
	.njcms-staff__list-main {
		min-width: 0;
		width: 100%;
	}

	.njcms-forms__card {
		padding: 1rem;
	}
}

/* --- Contact page --- */
@media (max-width: 600px) {
	.njcms-contact-page__submit {
		align-self: stretch;
		width: 100%;
		min-height: 2.75rem;
		text-align: center;
	}

	.njcms-contact-page__cards {
		grid-template-columns: 1fr;
	}

	.njcms-contact-page__intro,
	.njcms-contact-page__split {
		padding-inline: 0;
	}
}

/* --- Homepage shortcodes --- */
@media (max-width: 640px) {
	.njcms-home-major-pages__card-title {
		font-size: clamp(1.35rem, 5vw, 1.75rem);
	}
}

/* --- Pagination --- */
@media (max-width: 480px) {
	.njcms-pagination,
	.njcms-reports__pagination,
	.njcms-decisions__pagination {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.35rem;
	}
}
