/**
 * JFP site layout rhythm — spacing & responsive only (no visual redesign).
 * Loaded after jfp-new.min.css. Standard page pattern:
 *   .main-cont.py-0 > .container.my-5|pb-5 > .rd-home-feat.p-4.p-md-5
 */

/* Prefer Bootstrap section rhythm; avoid stacking with legacy .main-cont padding */
.main-cont.py-0 {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Homepage: one vertical rhythm (section padding OR margin, not both) */
.jfp-section.my-5 {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

@media (min-width: 992px) {
	.jfp-section {
		padding-top: 3.5rem;
		padding-bottom: 3.5rem;
	}
}

@media (max-width: 991.98px) {
	.jfp-section {
		padding-top: 2.25rem;
		padding-bottom: 2.25rem;
	}
}

/* Card surfaces: comfortable on mobile when only p-5 is present */
@media (max-width: 767.98px) {
	.rd-home-feat.p-5 {
		padding: 1.25rem !important;
	}

	.main-cont .container.my-5 {
		margin-top: 1.75rem !important;
		margin-bottom: 1.75rem !important;
	}

	.banner.py-5 {
		padding-top: 2rem !important;
		padding-bottom: 2rem !important;
	}
}

/* Grid + legacy news-list: don't double vertical gaps when using g-* */
.news-list.g-4 > [class*="col-"],
.news-list.row.g-4 > [class*="col-"] {
	margin-bottom: 0;
}

/* Empty / CTA blocks: keep breathing room without extra my-5 + py-5 stack */
.cta-section.my-5.py-5 {
	margin-top: 2.5rem !important;
	margin-bottom: 2.5rem !important;
	padding-top: 2rem !important;
	padding-bottom: 2rem !important;
}

@media (min-width: 768px) {
	.cta-section.my-5.py-5 {
		padding-top: 2.5rem !important;
		padding-bottom: 2.5rem !important;
	}
}

/* Soft horizontal safety on small screens without clipping intentional full-bleed */
@media (max-width: 575.98px) {
	.main-cont .container,
	.fellowships-page .container,
	.narratives-page .container {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}
