/*
 * Covenant Connections Leadership Display
 * Version 0.2.0
 *
 * Typography:
 * - Embarcadero MVB Pro is loaded by Elementor/Adobe Fonts.
 * - DM Mono is loaded by the site/Elementor.
 * This plugin references those families but does not load them.
 */

body.single-leadership,
body.single-leadership #page,
body.single-leadership .site,
body.single-leadership .site-content,
body.single-leadership main,
.cc-leadership-directory,
.cc-leader-single {
	background: #fff !important;
}

.cc-leadership-directory,
.cc-leader-single {
	--cc-heading-font: "embarcadero-mvb-pro", Georgia, serif;
	--cc-mono-font: "DM Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	--cc-body-font: inherit;

	--cc-text: #00263E;
	--cc-muted: #686d69;
	--cc-border: rgba(35, 40, 36, .15);
	--cc-surface: #f4f3ee;
	--cc-max-width: 1200px;

	color: var(--cc-text) !important;
	font-family: var(--cc-body-font);
	background: #fff;
}

/* -----------------------------
   DIRECTORY
------------------------------ */

.cc-leadership-section {
	max-width: var(--cc-max-width);
	margin: 0 auto 6.5rem;
}

.cc-leadership-directory h2.cc-leadership-section__heading {
	margin: 0 0 2.75rem !important;
	font-family: var(--cc-heading-font) !important;
	font-size: clamp(2.7rem, 5vw, 4.75rem) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: .98 !important;
	letter-spacing: -.025em !important;
	text-transform: none !important;
}

.cc-leadership-grid {
	display: grid;
	column-gap: clamp(1.5rem, 3vw, 2.75rem);
	row-gap: clamp(3.5rem, 6vw, 5.5rem);
}

.cc-leadership-grid--1 { grid-template-columns: 1fr; }
.cc-leadership-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cc-leadership-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cc-leadership-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.cc-leader-card {
	min-width: 0;
}

.cc-leader-card__image {
	aspect-ratio: 4 / 5;
	margin-bottom: 1.55rem;
	overflow: hidden;
	background: var(--cc-surface);
}

.cc-leader-card__image a {
	display: block;
	width: 100%;
	height: 100%;
}

.cc-leader-card__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .35s ease;
}

.cc-leader-card:hover .cc-leader-card__image img {
	transform: scale(1.015);
}

.cc-leader-card__content {
	max-width: 95%;
}

.cc-leadership-directory h3.cc-leader-card__name {
	margin: 0 !important;
	font-family: var(--cc-heading-font) !important;
	font-size: clamp(1.9rem, 2.3vw, 2.6rem) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	line-height: 1.02 !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
}

.cc-leadership-directory h3.cc-leader-card__name a {
	color: inherit !important;
	font: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	text-decoration: none !important;
}

.cc-leader-card__cc-role {
	margin-top: .75rem;
	font-family: var(--cc-mono-font);
	font-size: .78rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cc-leader-card__ministry {
	margin-top: 1.2rem;
	color: var(--cc-muted);
	font-size: .98rem;
	line-height: 1.5;
}

.cc-leader-card__excerpt {
	margin-top: 1.35rem;
	font-size: 1rem;
	line-height: 1.7;
}

.cc-leader-card__excerpt p {
	margin-top: 0;
}

.cc-leader-card__excerpt p:last-child {
	margin-bottom: 0;
}

.cc-leader-card__link {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin-top: 1.4rem;
	padding-bottom: .2rem;
	border-bottom: 1px solid currentColor;
	color: inherit;
	font-family: var(--cc-mono-font);
	font-size: .76rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
}

.cc-leader-card__link span {
	transition: transform .2s ease;
}

.cc-leader-card__link:hover span {
	transform: translateX(3px);
}

/* Board intentionally feels quieter and more compact. */

.cc-leadership-section--board {
	padding-top: 4.75rem;
	border-top: 1px solid var(--cc-border);
}

.cc-leadership-directory .cc-leadership-section--board h2.cc-leadership-section__heading {
	font-size: clamp(2.4rem, 4vw, 4rem) !important;
}

.cc-leadership-section--board .cc-leader-card__image {
	aspect-ratio: 1 / 1;
}

.cc-leadership-directory .cc-leadership-section--board h3.cc-leader-card__name {
	font-size: clamp(1.55rem, 1.8vw, 2rem) !important;
}

.cc-leadership-section--board .cc-leader-card__cc-role {
	font-size: .72rem;
}

.cc-leadership-section--board .cc-leader-card__ministry {
	margin-top: .85rem;
	font-size: .92rem;
}


/* -----------------------------
   SINGLE LEADER
------------------------------ */

.cc-leader-single__inner {
	width: min(calc(100% - 48px), var(--cc-max-width));
	margin-inline: auto;
	padding: clamp(3rem, 6vw, 5rem) 0 clamp(5rem, 9vw, 8rem);
}

.cc-leader-single__back {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
	padding-bottom: .2rem;
	border-bottom: 1px solid transparent;
	color: inherit;
	font-family: var(--cc-mono-font);
	font-size: .74rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
}

.cc-leader-single__back:hover {
	border-bottom-color: currentColor;
}

.cc-leader-single__hero {
	display: grid;
	grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
	gap: clamp(2.75rem, 7vw, 7rem);
	align-items: center;
}

.cc-leader-single__portrait {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--cc-surface);
}

.cc-leader-single__portrait img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cc-leader-single__eyebrow {
	margin: 0 0 1.1rem;
	font-family: var(--cc-mono-font);
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cc-leader-single .cc-leader-single__intro h1 {
	max-width: 760px !important;
	margin: 0 !important;
	font-family: var(--cc-heading-font) !important;
	font-size: clamp(3.7rem, 7.5vw, 7.5rem) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: .9 !important;
	letter-spacing: -.04em !important;
	text-transform: none !important;
}

.cc-leader-single__cc-role {
	margin: 1.45rem 0 0;
	font-family: var(--cc-mono-font);
	font-size: clamp(.82rem, 1vw, .95rem);
	font-weight: 500;
	line-height: 1.45;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.cc-leader-single__ministry {
	margin-top: 2.1rem;
	color: var(--cc-muted);
	font-size: 1.05rem;
	line-height: 1.55;
}

.cc-leader-single__body {
	display: grid;
	grid-template-columns: minmax(0, 1.85fr) minmax(260px, .75fr);
	gap: clamp(3rem, 7vw, 7rem);
	margin-top: clamp(4rem, 8vw, 7rem);
	padding-top: clamp(3rem, 6vw, 5rem);
	border-top: 1px solid var(--cc-border);
}

.cc-leader-single__bio {
	max-width: 760px;
	font-size: clamp(1.08rem, 1.4vw, 1.22rem);
	line-height: 1.82;
}

.cc-leader-single__bio p {
	margin-top: 0;
	margin-bottom: 1.35em;
}

.cc-leader-single__contact {
	align-self: start;
	padding: clamp(1.6rem, 3vw, 2.25rem);
	background: var(--cc-surface);
}

.cc-leader-single .cc-leader-single__contact h2 {
	margin: 0 0 1.4rem !important;
	font-family: var(--cc-heading-font) !important;
	font-size: clamp(1.75rem, 2.4vw, 2.4rem) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1 !important;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.cc-leader-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: .95rem 1.25rem;
	background: var(--cc-text);
	color: #fff;
	font-family: var(--cc-mono-font);
	font-size: .75rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-decoration: none;
	text-transform: uppercase;
}


/* -----------------------------
   RESPONSIVE
------------------------------ */

@media (max-width: 980px) {
	.cc-leadership-grid--3,
	.cc-leadership-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.cc-leader-single__hero,
	.cc-leader-single__body {
		grid-template-columns: 1fr;
	}

	.cc-leader-single__portrait {
		max-width: 620px;
	}

	.cc-leader-single__contact {
		max-width: 520px;
	}
}

@media (max-width: 640px) {
	.cc-leadership-section {
		margin-bottom: 4.5rem;
	}

	.cc-leadership-grid--2,
	.cc-leadership-grid--3,
	.cc-leadership-grid--4 {
		grid-template-columns: 1fr;
	}

	.cc-leader-card__content {
		max-width: none;
	}

	.cc-leadership-section--board {
		padding-top: 3.5rem;
	}

	.cc-leadership-section--board .cc-leadership-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 2.5rem 1.15rem;
	}

	.cc-leadership-directory .cc-leadership-section--board h3.cc-leader-card__name {
		font-size: 1.4rem !important;
	}

	.cc-leadership-section--board .cc-leader-card__ministry {
		font-size: .85rem;
	}

	.cc-leader-single__inner {
		width: min(calc(100% - 28px), var(--cc-max-width));
		padding-top: 2rem;
	}

	.cc-leader-single__intro h1 {
		font-size: clamp(3.25rem, 16vw, 5rem);
	}

	.cc-leader-single__body {
		margin-top: 3.5rem;
		padding-top: 2.75rem;
	}
}

@media (max-width: 420px) {
	.cc-leadership-section--board .cc-leadership-grid {
		grid-template-columns: 1fr;
	}
}


/*
 * Elementor compatibility:
 * The heading rules above intentionally use higher-specificity selectors
 * and !important for typography only, so Elementor's global H1/H2/H3
 * typography does not override the plugin's leadership type system.
 */


/* -----------------------------
   STRONG THEME / ELEMENTOR OVERRIDES
   Scoped only to Leadership single pages.
------------------------------ */

body.single-leadership {
	background: #fff !important;
	color: #00263E !important;
}

body.single-leadership .cc-leader-single,
body.single-leadership .cc-leader-single__inner,
body.single-leadership .cc-leader-single__hero,
body.single-leadership .cc-leader-single__body {
	background: #fff !important;
	color: #00263E !important;
}

body.single-leadership .cc-leader-single *,
body.single-leadership .cc-leader-single p,
body.single-leadership .cc-leader-single div {
	color: inherit;
}

body.single-leadership .cc-leader-single h1,
body.single-leadership .cc-leader-single h2,
body.single-leadership .cc-leader-single h3,
body.single-leadership .cc-leader-single h4,
body.single-leadership .cc-leader-single h5,
body.single-leadership .cc-leader-single h6 {
	color: #00263E !important;
	font-family: var(--cc-heading-font) !important;
	font-style: normal !important;
	text-transform: none !important;
}

body.single-leadership .cc-leader-single__intro h1 {
	color: #00263E !important;
	font-family: var(--cc-heading-font) !important;
	font-weight: 400 !important;
}

body.single-leadership .cc-leader-single__eyebrow,
body.single-leadership .cc-leader-single__cc-role,
body.single-leadership .cc-leader-single__back,
body.single-leadership .cc-leader-button {
	font-family: var(--cc-mono-font) !important;
}

body.single-leadership .cc-leader-single__eyebrow,
body.single-leadership .cc-leader-single__cc-role,
body.single-leadership .cc-leader-single__back {
	color: #00263E !important;
}

body.single-leadership .cc-leader-single__ministry {
	color: rgba(0, 38, 62, .68) !important;
}

body.single-leadership .cc-leader-single__bio,
body.single-leadership .cc-leader-single__bio p,
body.single-leadership .cc-leader-single__bio li {
	color: #00263E !important;
}

body.single-leadership .cc-leader-button,
body.single-leadership .cc-leader-button:visited {
	background: #00263E !important;
	color: #fff !important;
}

/* Current-leadership grid: four across on desktop, two on tablet, one on phones. */
@media (min-width: 981px) {
	.cc-leadership-section--current .cc-leadership-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 980px) and (min-width: 641px) {
	.cc-leadership-section--current .cc-leadership-grid,
	.cc-leadership-section--board .cc-leadership-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.cc-leadership-section--current .cc-leadership-grid {
		grid-template-columns: 1fr !important;
		gap: 3.25rem;
	}

	.cc-leader-card__image {
		aspect-ratio: 4 / 5;
	}

	.cc-leader-card__name {
		font-size: clamp(1.9rem, 9vw, 2.35rem) !important;
	}

	.cc-leader-card__ministry,
	.cc-leader-card__excerpt {
		font-size: 1rem;
	}

	.cc-leader-card__link,
	.cc-leader-button {
		min-height: 44px;
	}

	.cc-leader-single__hero {
		gap: 2rem;
	}

	.cc-leader-single__portrait {
		width: 100%;
		max-width: none;
	}

	.cc-leader-single__body {
		gap: 2.5rem;
	}

	.cc-leader-single__contact {
		max-width: none;
	}

	.cc-leader-button {
		width: 100%;
	}
}


/* ============================================================
   v0.4.0 — Canonical section heading system
   Matches the Elementor heading treatment supplied for the site.
   Applies to Board of Directors, Founder & Legacy, and any future
   directory section that uses .cc-leadership-section__heading.
============================================================ */
.cc-leadership-directory h2.cc-leadership-section__heading {
	box-sizing: border-box !important;
	clear: both !important;
	margin: 0 0 2.75rem !important;
	padding: 0 !important;
	color: #00263E !important;
	font-family: "embarcadero-mvb-pro", Sans-serif !important;
	font-size: clamp(2rem, 1.55rem + 1.8vw, 3rem) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	line-height: 1.05em !important;
	letter-spacing: -0.02em !important;
	text-align: start !important;
	text-transform: none !important;
}

/* Founder / Legacy */
.cc-leadership-section--founder {
	padding-top: clamp(3.5rem, 7vw, 6rem);
	border-top: 1px solid var(--cc-border);
}

.cc-founder-list {
	display: grid;
	gap: 2.5rem;
}

.cc-founder-feature {
	display: grid;
	grid-template-columns: minmax(260px, .8fr) minmax(0, 1.2fr);
	background: #F5F5F5;
	min-width: 0;
}

.cc-founder-feature__image {
	min-height: 100%;
	overflow: hidden;
	background: var(--cc-surface);
}

.cc-founder-feature__image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 420px;
	object-fit: cover;
}

.cc-founder-feature__content {
	align-self: center;
	padding: clamp(2rem, 5vw, 4.5rem);
}

.cc-founder-feature__eyebrow {
	margin: 0 0 1rem !important;
	color: #00263E !important;
	font-family: var(--cc-mono-font) !important;
	font-size: .875rem !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

.cc-leadership-directory h3.cc-founder-feature__name {
	margin: 0 !important;
	color: #00263E !important;
	font-family: var(--cc-heading-font) !important;
	font-size: clamp(2rem, 1.55rem + 1.8vw, 3rem) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	line-height: 1.05em !important;
	letter-spacing: -.02em !important;
	text-transform: none !important;
}

.cc-leadership-directory h3.cc-founder-feature__name a {
	color: inherit !important;
	font: inherit !important;
	text-decoration: none !important;
}

.cc-founder-feature__role {
	margin-top: .8rem;
	color: #00263E;
	font-family: var(--cc-mono-font);
	font-size: .78rem;
	font-weight: 500;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.cc-founder-feature__meta {
	margin-top: 1rem;
	color: #656E75;
	font-size: .95rem;
	line-height: 1.5;
}

.cc-founder-feature__excerpt {
	max-width: 62ch;
	margin-top: 1.5rem;
	color: #3E4A52;
	font-size: 1.05rem;
	line-height: 1.7;
}

.cc-founder-feature__excerpt p:last-child {
	margin-bottom: 0;
}

.cc-founder-feature__link {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin-top: 1.5rem;
	padding-bottom: .2rem;
	border-bottom: 1px solid currentColor;
	color: #00263E;
	font-family: var(--cc-mono-font);
	font-size: .8rem;
	font-weight: 500;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
}

.cc-founder-feature__link span {
	transition: transform .2s ease;
}

.cc-founder-feature__link:hover span {
	transform: translateX(3px);
}

.cc-leadership-admin-note {
	max-width: var(--cc-max-width);
	margin: 1rem auto 3rem;
	padding: 1rem 1.25rem;
	border: 1px solid #D9DEE2;
	background: #F5F5F5;
	color: #3E4A52;
	font-size: .9rem;
}

@media (max-width: 760px) {
	.cc-founder-feature {
		grid-template-columns: 1fr;
	}

	.cc-founder-feature__image img {
		min-height: 0;
		aspect-ratio: 4 / 3;
	}

	.cc-founder-feature__content {
		padding: 2rem 1.5rem 2.5rem;
	}

	.cc-leadership-directory h2.cc-leadership-section__heading {
		margin-bottom: 2rem !important;
	}
}


/* ============================================================
   v0.4.1 — Single leader name heading
   Hard-coded family and restrained responsive scale so Elementor
   or theme globals cannot substitute the H1 typography.
============================================================ */
body.single-leadership .cc-leader-single .cc-leader-single__intro h1 {
	max-width: 760px !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #00263E !important;
	font-family: "embarcadero-mvb-pro", Sans-serif !important;
	font-size: clamp(2.5rem, 2rem + 2.5vw, 3.75rem) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	line-height: 1.02 !important;
	letter-spacing: -0.02em !important;
	text-transform: none !important;
}

/* Keep the H1 comfortably sized on narrow phones. */
@media (max-width: 640px) {
	body.single-leadership .cc-leader-single .cc-leader-single__intro h1 {
		font-size: clamp(2.25rem, 1.95rem + 1.5vw, 2.75rem) !important;
		line-height: 1.05 !important;
	}
}
