.content .gssp-members,
.gssp-members {
	margin-left: 0;
	padding-left: 0;
	text-align: left;
	margin-bottom: 20px;
}

/* Desktop: Table-like layout */
@media (min-width: 768px) {
	.gssp-headings,
	.gssp-members .member
	{
		display: flex;
		justify-content: flex-start;
	}
}

.gssp-headings h3,
.gssp-members .member .name,
.gssp-members .member .title,
.gssp-members .member .phone
{
	flex: 1 1 33%;
}

.gssp-headings h3 {
	display: inline-block;
	font-size: 18px;
}

.gssp-members i {
	margin-right: 8px;
}

.gssp-headings .phone,
.gssp-headings .title,
.gssp-members .title
{
	font-style: italic;
	margin-left: 20px;
}

.gssp-members .phone {
	margin-left: 20px;
}

.gssp-headings .title {
	font-style: normal;
}

h2 + .gssp-headings h3,
h3 + .gssp-headings h3 {
	margin-top: 0;
}

/* Accessibility: Focus styles */
.gssp-members .member a:focus {
	outline: 2px solid #0073aa;
	outline-offset: 2px;
	text-decoration: underline;
}

/* Mobile: Card/Stacked layout */
@media (max-width: 767px) {
	/* Hide headings on mobile */
	.gssp-headings {
		display: none;
	}
	
	/* Stack members as cards */
	.gssp-members .member {
		display: block;
		padding: 1rem;
		margin-bottom: 1rem;
		border: 1px solid #ddd !important;
		border-radius: 4px;
	}
	
	/* Stack each field vertically */
	.gssp-members .member > div {
		display: block;
		margin-left: 0 !important;
		margin-bottom: 0.75rem;
		padding: 0;
	}
	
	/* Show labels on mobile */
	.gssp-members .member > div.name::before {
		content: "Name: ";
		font-weight: bold;
		display: inline-block;
		margin-right: 0.5rem;
		color: #333;
		font-style: normal;
	}
	
	.gssp-members .member > div.title::before {
		content: "Title: ";
		font-weight: bold;
		display: inline-block;
		margin-right: 0.5rem;
		color: #333;
		font-style: normal;
	}
	
	.gssp-members .member > div.phone::before {
		content: "Phone: ";
		font-weight: bold;
		display: inline-block;
		margin-right: 0.5rem;
		color: #333;
		font-style: normal;
	}
	
	/* Name column special styling on mobile */
	.gssp-members .member > div.name {
		font-size: 1.1em;
		font-weight: bold;
		margin-bottom: 1rem;
		padding-bottom: 0.5rem;
		border-bottom: 1px solid #ddd;
	}
	
	.gssp-members .member > div.name::before {
		display: none;
	}
	
	/* Remove last item margin */
	.gssp-members .member > div:last-child {
		margin-bottom: 0;
	}
	
	/* Better link styling on mobile */
	.gssp-members .member a {
		text-decoration: underline;
		word-break: break-word;
	}
}

/* Tablet adjustments */
@media (min-width: 768px) and (max-width: 1024px) {
	.gssp-headings h3 {
		font-size: 16px;
	}
	
	.gssp-headings .phone,
	.gssp-headings .title,
	.gssp-members .title,
	.gssp-members .phone {
		margin-left: 10px;
	}
}
