/*
 * Homepage duo — Upcoming Gatherings (elementor-element-7b1e960): aurora orbs, T1 hairlines, even padding.
 */

@media (min-width: 1024px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-flow-lines {
		padding-top: var(--fpc-home-gatherings-pad-lg) !important;
		padding-bottom: var(--fpc-home-gatherings-pad-lg) !important;
	}
}

html body.fpc-public-home-duo:not(.fpc-leader-portal) #page #content .elementor-top-section.elementor-element.elementor-element-7b1e960.elementor-section,
html body.fpc-public-home-duo:not(.fpc-leader-portal) #page #content .elementor-element.elementor-element-7b1e960 {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	padding-block: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-block-start: 0px !important;
	--padding-block-end: 0px !important;
	--e-con-padding-top: 0px !important;
	--e-con-padding-bottom: 0px !important;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 {
	position: relative;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960::before,
body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: var(--fpc-home-gatherings-line-h);
	z-index: 2;
	pointer-events: none;
	background: rgb(var(--fpc-border-warm-rgb) / var(--fpc-home-gatherings-line-a));
}

html.dark body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960::before,
html.dark body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960::after {
	background: rgb(var(--fpc-accent-fill-rgb) / var(--fpc-home-gatherings-line-a));
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960::before {
	top: 0;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960::after {
	bottom: 0;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .elementor-widget-container {
	margin: 0 !important;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-flow-lines {
	padding-top: var(--fpc-home-gatherings-pad) !important;
	padding-bottom: var(--fpc-home-gatherings-pad) !important;
	background: transparent !important;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-flow-lines > .absolute.inset-0.pointer-events-none {
	overflow: hidden;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-leaf-item,
body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-leaf-accent {
	display: none !important;
	animation: none !important;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-aurora {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	animation: fpc-home-gatherings-aurora-in 300ms ease-out forwards;
}

@keyframes fpc-home-gatherings-aurora-in {
	to {
		opacity: 1;
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-orb {
	position: absolute;
	border-radius: 50%;
	filter: blur(60px);
	will-change: transform;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-orb--blue {
	width: 42%;
	aspect-ratio: 1;
	left: -8%;
	top: -40%;
	background: radial-gradient(
		circle,
		rgb(var(--fpc-live-action-fill-rgb) / var(--fpc-home-gatherings-orb-a)) 0,
		transparent 70%
	);
	animation: fpc-home-gatherings-drift-a 18s ease-in-out infinite alternate;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-orb--warm {
	width: 36%;
	aspect-ratio: 1;
	right: -6%;
	bottom: -45%;
	background: radial-gradient(
		circle,
		rgb(var(--fpc-accent-rgb) / calc(var(--fpc-home-gatherings-orb-a) * 1.1)) 0,
		transparent 70%
	);
	animation: fpc-home-gatherings-drift-b 22s ease-in-out infinite alternate;
}

html.dark body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-orb--warm {
	background: radial-gradient(
		circle,
		rgb(var(--fpc-accent-rgb) / var(--fpc-home-gatherings-orb-warm-dark-start)) 0,
		rgb(var(--fpc-accent-rgb) / var(--fpc-home-gatherings-orb-warm-dark-end)) 40%,
		transparent 70%
	) !important;
	filter: blur(70px);
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-orb--blue-soft {
	width: 28%;
	aspect-ratio: 1;
	left: 38%;
	top: 10%;
	background: radial-gradient(
		circle,
		rgb(var(--fpc-live-play-rgb) / var(--fpc-home-gatherings-orb-b)) 0,
		transparent 70%
	);
	animation: fpc-home-gatherings-drift-a 26s ease-in-out infinite alternate-reverse;
}

@keyframes fpc-home-gatherings-drift-a {
	to {
		transform: translate(8%, 10%) scale(1.08);
	}
}

@keyframes fpc-home-gatherings-drift-b {
	to {
		transform: translate(-10%, -6%) scale(1.1);
	}
}

html:not(.dark) body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-home-gatherings-coming-dot {
	background-color: var(--fpc-home-gatherings-coming-dot-fill) !important;
}

html:not(.dark) body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-home-gatherings-coming-ping {
	background-color: var(--fpc-home-gatherings-coming-dot-ping) !important;
	opacity: 1 !important;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-gatherings-row-arrow {
	background-color: var(--fpc-home-duo-chip-bg) !important;
	border-color: var(--fpc-home-duo-chip-border) !important;
	color: var(--fpc-home-duo-chip-icon) !important;
	transition: background-color var(--fpc-home-duo-chip-transition) ease, opacity var(--fpc-home-duo-chip-transition) ease;
}

html:not(.dark) body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 .fpc-gatherings-row-arrow {
	background-color: var(--fpc-home-welcome-chip-bg) !important;
	border-color: var(--fpc-home-duo-chip-border) !important;
}

html:not(.dark) body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 a.group:hover .fpc-gatherings-row-arrow {
	background-color: var(--fpc-home-welcome-chip-bg-hover) !important;
	border-color: var(--fpc-home-duo-chip-border-hover) !important;
}

html.dark body.fpc-public-home-duo:not(.fpc-leader-portal) #content .elementor-element-7b1e960 a.group:hover .fpc-gatherings-row-arrow {
	background-color: var(--fpc-home-duo-chip-bg-hover) !important;
	border-color: var(--fpc-home-duo-chip-border-hover) !important;
	color: var(--fpc-home-duo-chip-icon) !important;
}

@media (prefers-reduced-motion: reduce) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-aurora,
	body.fpc-public-home-duo:not(.fpc-leader-portal) #content .fpc-home-duo-band-aurora-host .fpc-home-gatherings-aurora * {
		animation: none !important;
		opacity: 1;
		transform: none !important;
	}
}

/* --- Gatherings mockup layout (class hooks from events-split-premium on home duo) --- */

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-shell {
	box-sizing: border-box;
	width: min(
		var(--fpc-home-gatherings-shell-max),
		calc(100% - (2 * var(--fpc-home-gatherings-shell-pad-inline)))
	);
	max-width: none;
	margin-inline: auto;
	padding-inline: 0;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-layout {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--fpc-home-gatherings-col-gap);
}

@media (min-width: 1280px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-layout {
		flex-direction: row;
		align-items: center;
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-intro {
	flex: 0 0 auto;
	width: 100%;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-events {
	flex: 1 1 auto;
	width: 100%;
	min-width: 0;
}

@media (min-width: 1280px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-intro {
		flex: 1 1 auto;
		width: auto;
		min-width: 0;
		max-width: var(--fpc-home-gatherings-intro-basis);
	}

	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-events {
		flex: 0 0 var(--fpc-home-gatherings-events-basis);
		width: var(--fpc-home-gatherings-events-basis);
		max-width: var(--fpc-home-gatherings-events-basis);
		min-width: 0;
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-heading {
	margin: 0 0 var(--fpc-home-gatherings-heading-mb) 0;
	font-size: var(--fpc-home-gatherings-heading-size);
	font-weight: 800;
	line-height: var(--fpc-home-gatherings-heading-lh);
	letter-spacing: -0.02em;
	color: var(--fpc-text);
	overflow-wrap: normal;
	word-break: normal;
	hyphens: none;
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-heading {
		margin-bottom: var(--fpc-home-gatherings-heading-mb-mobile);
		font-size: var(--fpc-home-gatherings-heading-size-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: var(--fpc-home-gatherings-btn-min-h);
	min-height: var(--fpc-home-gatherings-btn-min-h);
	max-height: var(--fpc-home-gatherings-btn-min-h);
	padding: 0 var(--fpc-home-gatherings-btn-pad-x);
	border-radius: var(--fpc-home-gatherings-btn-radius);
	font-size: var(--fpc-home-gatherings-btn-text);
	font-weight: 700;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: var(--fpc-home-duo-btn-fill) !important;
	color: var(--fpc-home-duo-btn-text) !important;
	border: none !important;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-btn--desktop {
	display: none;
}

@media (min-width: 1280px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-btn--desktop {
		display: inline-flex;
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-btn--mobile {
	display: flex;
	width: 100%;
	min-height: var(--fpc-home-gatherings-btn-min-h-mobile);
}

@media (min-width: 1280px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-btn--mobile {
		display: none;
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-mobile-wrap {
	margin-top: 0.5rem;
	width: 100%;
	transform: translateZ(0);
	backface-visibility: hidden;
}

@media (min-width: 1280px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-calendar-mobile-wrap {
		display: none;
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-panel {
	box-sizing: border-box;
	width: 100%;
	padding: var(--fpc-home-gatherings-panel-pad);
	background-color: rgb(var(--fpc-surface-rgb) / 0.92);
	border: 1px solid var(--fpc-home-card-border);
	border-radius: 1.5rem;
	box-shadow: 0 20px 40px -15px rgb(var(--fpc-live-action-fill-rgb) / 0.12);
}

html.dark body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-panel {
	background-color: rgb(var(--fpc-sermon-card-surface-dark-rgb) / 0.94);
	border-color: var(--fpc-home-card-border-dark);
	box-shadow: 0 20px 40px -15px rgb(var(--fpc-void-rgb) / 0.5);
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-panel {
		padding: var(--fpc-home-gatherings-panel-pad-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-list {
	display: flex;
	flex-direction: column;
	gap: var(--fpc-home-gatherings-row-gap-mobile);
}

@media (min-width: 728px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-list {
		gap: var(--fpc-home-gatherings-row-gap);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row {
	padding: var(--fpc-home-gatherings-row-pad);
	border-radius: 1rem;
	background-color: var(--fpc-deeper);
	border: 1px solid rgb(var(--fpc-border-rgb) / 0.5);
	transition: border-color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}

html.dark body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row {
	background-color: var(--fpc-surface);
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row {
		padding: var(--fpc-home-gatherings-row-pad-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row__main {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	gap: var(--fpc-home-gatherings-row-gap);
	min-width: 0;
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row__main {
		gap: var(--fpc-home-gatherings-row-gap-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-date {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: var(--fpc-home-gatherings-date-size);
	height: var(--fpc-home-gatherings-date-size);
	border-radius: var(--fpc-home-gatherings-date-radius);
	background-color: var(--fpc-home-gatherings-date-bg);
	border: 1px solid var(--fpc-home-gatherings-date-border);
	color: var(--fpc-home-gatherings-date-ink);
	box-shadow: 0 1px 2px rgb(var(--fpc-void-rgb) / 0.06);
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-date {
		width: var(--fpc-home-gatherings-date-size-mobile);
		height: var(--fpc-home-gatherings-date-size-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-date__month {
	margin-bottom: var(--fpc-home-gatherings-date-month-mb);
	font-size: var(--fpc-home-gatherings-date-month);
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-date__day {
	font-size: var(--fpc-home-gatherings-date-day);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-date__day {
		font-size: var(--fpc-home-gatherings-date-day-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-title {
	margin: 0;
	font-size: var(--fpc-home-gatherings-event-title);
	font-weight: 700;
	line-height: var(--fpc-home-gatherings-event-title-lh);
	color: var(--fpc-text);
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-title {
		font-size: var(--fpc-home-gatherings-event-title-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder {
	min-height: var(--fpc-home-gatherings-placeholder-row-min-h);
	gap: var(--fpc-home-gatherings-row-gap-mobile);
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder .fpc-home-gatherings-event-row__main {
	flex: 1 1 auto;
	min-width: 0;
	max-width: calc(100% - var(--fpc-home-gatherings-placeholder-title-clearance));
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder .fpc-home-gatherings-event-copy {
	flex: 1 1 auto;
	min-width: 0;
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-placeholder-title-keep {
	white-space: nowrap;
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder {
		min-height: var(--fpc-home-gatherings-placeholder-row-min-h-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder .fpc-home-gatherings-event-title {
	font-size: var(--fpc-home-gatherings-placeholder-title);
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder .fpc-home-gatherings-event-title {
		font-size: var(--fpc-home-gatherings-placeholder-title-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder .fpc-home-gatherings-date__day {
	font-size: var(--fpc-home-gatherings-placeholder-date-day);
}

@media (max-width: 727px) {
	body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row--placeholder .fpc-home-gatherings-date__day {
		font-size: var(--fpc-home-gatherings-placeholder-date-day-mobile);
	}
}

body.fpc-public-home-duo:not(.fpc-leader-portal) .fpc-home-gatherings-event-row .fpc-gatherings-row-arrow {
	display: flex;
	width: var(--fpc-home-gatherings-arrow-size);
	height: var(--fpc-home-gatherings-arrow-size);
	flex-shrink: 0;
}
