/* Página interior “Comunidad”. Todo queda acotado a las clases de esta página. */
#main-content:has(.iff-community-hero) {
	--iff-community-ink: #333;
	--iff-community-text: #50555b;
	--iff-community-blue: #547389;
	--iff-community-yellow: #fcbc2b;
	--iff-community-line: #e5e8e9;
}

#main-content .et_pb_section:has(.iff-community-hero),
#main-content .et_pb_section:has(.iff-community-intro),
#main-content .et_pb_section:has(.iff-community-mission-heading),
#main-content .et_pb_section:has(.iff-community-mission-copy),
#main-content .et_pb_section:has(.iff-community-mission-photo),
#main-content .et_pb_section:has(.iff-community-infographic),
#main-content .et_pb_section:has(.iff-community-locations) {
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Evita el espacio excesivo de Divi entre la descripción y las imágenes. */
#main-content .et_pb_section:has(.iff-community-mission-copy) {
	gap: 16px !important;
	row-gap: 16px !important;
}

#main-content .et_pb_row.iff-community-hero,
#main-content .et_pb_row:has(.iff-community-intro),
#main-content .et_pb_row.iff-community-gallery,
#main-content .et_pb_row.iff-community-mission-heading,
#main-content .et_pb_row:has(.iff-community-mission-copy),
#main-content .et_pb_row.iff-community-mission-photo,
#main-content .et_pb_row.iff-community-infographic,
#main-content .et_pb_row.iff-community-locations {
	width: min(88%, 1080px) !important;
	max-width: 1080px !important;
}

/* Encabezado sobrio de página interior. */
#main-content .et_pb_row.iff-community-hero {
	display: block !important;
	padding-top: clamp(28px, 4vw, 42px) !important;
	padding-bottom: 14px !important;
	margin-bottom: 0 !important;
	border-bottom: 1px solid var(--iff-community-line);
}

#main-content .iff-community-hero > .et_pb_column { display: block !important; width: 100% !important; float: none !important; }
#main-content .iff-community-title { display: block !important; margin: 0 0 8px !important; }

#main-content .iff-community-title h1,
#main-content .iff-community-mission-heading h1 {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--iff-community-ink) !important;
	font-family: "Nunito Sans", Arial, sans-serif !important;
	font-size: clamp(29px, 3.2vw, 40px) !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	letter-spacing: -.025em;
	text-wrap: balance;
}

/* Refuerza el flujo vertical frente a los estilos de módulo generados por Divi. */
#page-container #main-content .et-l--post .et_pb_row.iff-community-hero {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin: 0 auto 0 !important;
	padding: 32px 0 16px !important;
	border-bottom: 1px solid var(--iff-community-line) !important;
}

#page-container #main-content .et-l--post .iff-community-title.et_pb_text {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

#page-container #main-content .et-l--post .iff-community-title h1 {
	display: block !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
	font-size: clamp(29px, 3.2vw, 40px) !important;
	line-height: 1.2 !important;
}

#page-container #main-content .et-l--post .et_pb_row:has(.iff-community-intro) {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin: 0 auto !important;
	padding-top: 16px !important;
	padding-bottom: 0 !important;
}

/* Mantiene un ritmo parejo desde la regla del encabezado hasta la galería. */
#page-container #main-content .et-l--post .et_pb_row:has(.iff-community-intro) {
	padding-top: 32px !important;
}

#page-container #main-content .et-l--post .iff-community-intro.et_pb_text {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin: 0 !important;
}

/* Introducción y galería mantienen un ritmo continuo, sin bloques decorativos. */
#main-content .et_pb_row:has(.iff-community-intro) {
	padding-top: 26px !important;
	padding-bottom: 0 !important;
}

#main-content .iff-community-intro,
#main-content .iff-community-mission-copy {
	color: var(--iff-community-text);
	text-align: left !important;
}

#main-content .iff-community-intro p,
#main-content .iff-community-mission-copy p {
	max-width: 86ch;
	margin: 0 0 14px !important;
	color: var(--iff-community-text) !important;
	font-size: 16px;
	line-height: 1.7;
}

#main-content .iff-community-intro p {
	margin: 0 !important;
	padding: 0 !important;
}

#main-content .iff-community-intro p:last-child,
#main-content .iff-community-mission-copy p:last-child { margin-bottom: 0 !important; }
#main-content .iff-community-intro .et_pb_text_inner > p:last-child {
	margin: 0 !important;
	font-size: 0 !important;
	line-height: 0 !important;
}
#main-content .iff-community-intro .iff-accent { color: var(--iff-community-yellow); font-weight: 700; }

#main-content .et_pb_row.iff-community-gallery {
	display: grid !important;
	width: min(88%, 900px) !important;
	max-width: 900px !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	margin-left: max(6%, calc((100% - 1080px) / 2)) !important;
	margin-right: auto !important;
	padding-top: 24px !important;
	padding-bottom: 16px !important;
}

#main-content .iff-community-gallery > .et_pb_column {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

#main-content .iff-community-gallery .et_pb_image,
#main-content .iff-community-mission-photo .et_pb_image,
#main-content .iff-community-infographic .et_pb_image { margin: 0 !important; }

#main-content .iff-community-gallery .et_pb_image_wrap,
#main-content .iff-community-mission-photo .et_pb_image_wrap,
#main-content .iff-community-infographic .et_pb_image_wrap {
	display: block;
	overflow: hidden;
	border-radius: 9px;
}

#main-content .iff-community-gallery img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Sección de discipulado y sus imágenes. */
#main-content .et_pb_row.iff-community-mission-heading {
	display: block !important;
	padding-top: 30px !important;
	padding-bottom: 0 !important;
	margin-bottom: 20px !important;
	border-top: 0;
}

#main-content .iff-community-mission-heading > .et_pb_column { display: block !important; width: 100% !important; float: none !important; }
#main-content .iff-community-mission-heading .et_pb_heading { margin: 0 !important; }

#main-content .iff-community-mission-heading h1 { font-size: clamp(25px, 2.6vw, 32px) !important; }

#page-container #main-content .et-l--post .et_pb_row.iff-community-mission-heading {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin: 0 auto 8px !important;
	padding: 16px 0 0 !important;
	border-top: 0 !important;
}

#page-container #main-content .et-l--post .iff-community-mission-heading .et_pb_heading {
	display: block !important;
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

#page-container #main-content .et-l--post .et_pb_row:has(.iff-community-mission-copy) {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin-top: 0 !important;
	padding-top: 12px !important;
}

#page-container #main-content .et-l--post .iff-community-mission-copy.et_pb_text {
	display: block !important;
	position: relative !important;
	float: none !important;
	margin-top: 0 !important;
}

#main-content .et_pb_row:has(.iff-community-mission-copy) {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
}

#main-content .et_pb_row.iff-community-mission-photo {
	width: min(88%, 760px) !important;
	max-width: 760px !important;
	margin-left: max(6%, calc((100% - 1080px) / 2)) !important;
	margin-right: auto !important;
	padding-top: 0 !important;
	padding-bottom: 20px !important;
}

#main-content .iff-community-mission-photo .et_pb_image_wrap {
	width: 100%;
	margin: 0;
}

#main-content .iff-community-mission-photo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 520px;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

#main-content .et_pb_row.iff-community-infographic {
	width: min(88%, 760px) !important;
	max-width: 760px !important;
	margin-left: max(6%, calc((100% - 1080px) / 2)) !important;
	margin-right: auto !important;
	padding-top: 0 !important;
	padding-bottom: 28px !important;
}

#main-content .iff-community-infographic .et_pb_image_wrap {
	background: #f8f7f2;
}

#main-content .iff-community-infographic img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 620px;
	object-fit: contain;
}

/* Ubicaciones en enlaces claros, sin tarjetas. */
#main-content .et_pb_row.iff-community-locations {
	display: flex !important;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 12px;
	padding-top: 0 !important;
	padding-bottom: 44px !important;
}

#main-content .iff-community-locations::before {
	content: "Nuestras comunidades";
	flex: 0 0 100%;
	margin: 0 0 2px;
	color: var(--iff-community-ink);
	font-family: "Nunito Sans", Arial, sans-serif;
	font-size: clamp(25px, 2.6vw, 32px);
	font-weight: 700;
	line-height: 1.2;
}

#main-content .iff-community-locations > .et_pb_column {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

#main-content .iff-community-locations .et_pb_button_module_wrapper { margin: 0 !important; }
#main-content .iff-community-locations .et_pb_button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 125px;
	min-height: 46px;
	padding: 10px 12px !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: var(--iff-community-yellow) !important;
	color: #292929 !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
	text-align: center;
	transition: background-color .2s ease, transform .2s ease;
}

#main-content .iff-community-locations .et_pb_button:hover {
	padding: 10px 12px !important;
	border-radius: 7px !important;
	background: #f0b21e !important;
	transform: translateY(-1px);
}

#main-content .iff-community-locations .et_pb_button::after { content: none !important; display: none !important; }

@media (max-width: 767px) {
	#main-content .et_pb_row.iff-community-hero,
	#main-content .et_pb_row:has(.iff-community-intro),
	#main-content .et_pb_row.iff-community-gallery,
	#main-content .et_pb_row.iff-community-mission-heading,
	#main-content .et_pb_row:has(.iff-community-mission-copy),
	#main-content .et_pb_row.iff-community-mission-photo,
	#main-content .et_pb_row.iff-community-infographic,
	#main-content .et_pb_row.iff-community-locations { width: 90% !important; }

	#page-container #main-content .et-l--post .et_pb_row.iff-community-hero { margin-bottom: 16px !important; padding: 24px 0 14px !important; }
	#main-content .iff-community-title { margin-bottom: 6px !important; }
	#page-container #main-content .et-l--post .et_pb_row:has(.iff-community-intro) { margin: 0 auto !important; padding: 12px 0 0 !important; }
	#main-content .iff-community-intro p, #main-content .iff-community-mission-copy p { font-size: 16px; line-height: 1.68; }
	#main-content .et_pb_row.iff-community-gallery { gap: 8px; margin-top: 0 !important; margin-bottom: 0 !important; margin-left: 5% !important; padding-top: 24px !important; padding-bottom: 16px !important; }
	#page-container #main-content .et-l--post .et_pb_row.iff-community-mission-heading { margin-bottom: 6px !important; padding-top: 22px !important; }
	#page-container #main-content .et-l--post .et_pb_row:has(.iff-community-mission-copy) { padding-top: 10px !important; padding-bottom: 14px !important; }
	#main-content .iff-community-mission-copy .et_pb_text_inner > h6 {
		margin: 0 !important;
		padding: 0 !important;
		color: var(--iff-community-text) !important;
		font-family: "Nunito Sans", Arial, sans-serif !important;
		font-size: 16px !important;
		font-weight: 500 !important;
		line-height: 1.68 !important;
		text-align: left !important;
	}
	#main-content .et_pb_row.iff-community-mission-photo { padding-bottom: 16px !important; }
	#main-content .et_pb_row.iff-community-mission-photo,
	#main-content .et_pb_row.iff-community-infographic { margin-left: 5% !important; margin-right: auto !important; }
	#main-content .iff-community-mission-photo .et_pb_image_wrap { width: 100%; }
	#main-content .iff-community-mission-photo img { aspect-ratio: 16 / 10; }
	#main-content .et_pb_row.iff-community-infographic { padding-bottom: 22px !important; }
	#main-content .et_pb_row.iff-community-locations { gap: 8px; padding-bottom: 30px !important; }
	#main-content .iff-community-locations > .et_pb_column { flex: 0 0 auto !important; width: auto !important; min-width: 0; }
	#main-content .iff-community-locations .et_pb_button_module_wrapper { width: auto !important; }
	#main-content .iff-community-locations .et_pb_button { flex: 0 1 auto !important; width: auto !important; min-width: 0 !important; padding: 10px 7px !important; box-sizing: border-box; }
}
