/* Memberships page: shared editor/frontend details Kadence cannot express alone. */
.forge-memberships-page {
	box-sizing: border-box;
}

.editor-styles-wrapper .is-root-container > [data-type="kadence/rowlayout"]:has(.forge-memberships-page),
.editor-styles-wrapper .is-root-container > .wp-block-kadence-rowlayout.forge-memberships-page {
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.editor-styles-wrapper .forge-memberships-page .wp-block-kadence-rowlayout {
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

.forge-memberships-hero > .kt-row-column-wrap,
.editor-styles-wrapper .forge-memberships-hero > .innerblocks-wrap {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* The left photograph is the hero atmosphere. The second photograph is the
 * inset foreground plane; neither Kadence column should create a light panel. */
.forge-memberships-hero {
	background-color: #050505 !important;
	background-image: linear-gradient(90deg, rgba(4, 4, 4, .94) 0%, rgba(4, 4, 4, .78) 39%, rgba(4, 4, 4, .42) 67%, rgba(4, 4, 4, .62) 100%), url("/wp-content/uploads/2026/08/forge-memberships-hero-left.jpg") !important;
	background-position: 72% center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

.forge-memberships-hero-left,
.forge-memberships-hero-right {
	position: relative;
	background: transparent !important;
}

.forge-memberships-hero-left::before,
.forge-memberships-hero-right::before {
	position: absolute;
	inset: 0;
	content: "";
	pointer-events: none;
}

.forge-memberships-hero-left::before {
	background: transparent;
}

.forge-memberships-hero-right::before {
	background: linear-gradient(90deg, rgba(4, 4, 4, .26), rgba(4, 4, 4, .04) 48%, rgba(4, 4, 4, .2));
}

/* The photo remains an editable Kadence background. These presentation-only
 * layers give it a deliberate image plane and blend its left edge into the
 * readable hero atmosphere rather than treating it as a raw half-column. */
.forge-memberships-hero-right > .kt-inside-inner-col {
	position: relative;
	isolation: isolate;
	background-position: 56% center !important;
	background-size: cover !important;
	overflow: hidden;
	box-shadow: 0 28px 58px rgba(0, 0, 0, .34);
}

.forge-memberships-hero-right > .kt-inside-inner-col::after {
	position: absolute;
	z-index: 1;
	inset: 0;
	content: "";
	pointer-events: none;
	background: linear-gradient(90deg, rgba(5, 5, 5, .58) 0%, rgba(5, 5, 5, .12) 32%, rgba(5, 5, 5, .03) 65%, rgba(5, 5, 5, .26) 100%);
}

@media (min-width: 1025px) {
	.forge-memberships-hero-right > .kt-inside-inner-col {
		min-height: 0;
		/* Foreground photo plane: deliberately inset over the atmospheric hero
		 * rather than occupying the whole right-hand column. */
		margin: clamp(168px, 13.9vw, 228px) clamp(62px, 6.9vw, 118px) clamp(84px, 6.9vw, 118px) clamp(38px, 5.3vw, 86px);
		border-radius: 18px !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.forge-memberships-hero-right > .kt-inside-inner-col {
		margin: 116px 28px 68px 18px;
		border-radius: 14px !important;
	}
}

@media (max-width: 767px) {
	.forge-memberships-hero {
		background-position: center center !important;
	}

	.forge-memberships-hero-right > .kt-inside-inner-col {
		border-radius: 0;
		box-shadow: none;
		background-position: 56% center !important;
	}
}

.forge-memberships-hero-left > .kt-inside-inner-col,
.forge-memberships-hero-right > .kt-inside-inner-col {
	position: relative;
	z-index: 1;
}

.forge-memberships-hero-left > .kt-inside-inner-col {
	background-color: transparent !important;
	background-image: none !important;
}

.editor-styles-wrapper .forge-memberships-hero-left > .kadence-inner-column-inner,
.editor-styles-wrapper .forge-memberships-hero-right > .kadence-inner-column-inner {
	position: relative;
	z-index: 1;
}

.forge-memberships-scroll {
	margin-left: 100px !important;
}

.forge-memberships-eyebrow {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: fit-content;
	box-sizing: border-box;
}

.forge-memberships-pricing .forge-memberships-eyebrow {
	color: #111 !important;
}

.forge-memberships-billing {
	display: flex !important;
	width: fit-content;
	min-height: 52px;
	align-items: stretch;
	gap: 0 !important;
	margin: 0 auto 42px;
	padding: 4px;
	border: 1px solid #111;
	border-radius: 999px;
	background: #f4f4f1;
	box-shadow: 0 8px 24px rgba(0,0,0,.12);
}

.forge-memberships-billing .kt-btn-wrap {
	display: flex;
	margin: 0 !important;
}

.forge-memberships-billing .kb-button {
	min-width: 108px;
	min-height: 46px;
	justify-content: center;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111 !important;
	white-space: nowrap;
	transform: none !important;
}

.forge-memberships-billing .kb-button::before {
	background: transparent !important;
	opacity: 0 !important;
}

.forge-memberships-billing .forge-memberships-billing-option.is-active {
	background: #111 !important;
	color: #fff !important;
	box-shadow: 0 2px 0 rgba(255,255,255,.16) inset !important;
}

.forge-memberships-billing .forge-memberships-billing-option:not(.is-active):hover,
.forge-memberships-billing .forge-memberships-billing-option:not(.is-active):focus-visible {
	background: #ececea !important;
	color: #111 !important;
}

.forge-memberships-billing .forge-memberships-billing-option[href="#yearly"] .kt-btn-inner-text {
	display: inline-flex;
	align-items: center;
	gap: 9px;
}

.forge-memberships-saving {
	display: inline-flex;
	align-items: center;
	padding: 4px 7px;
	border: 1px solid #aaa9a4;
	background: #e7e7e2;
	border-radius: 999px;
	font-size: 8px;
	letter-spacing: .8px;
}

.forge-memberships-billing-option.is-active .forge-memberships-saving {
	border-color: #555;
	background: #f3f3f0;
	color: #111;
}

.forge-memberships-plans > .kt-row-column-wrap,
.editor-styles-wrapper .forge-memberships-plans > .innerblocks-wrap {
	align-items: stretch !important;
	grid-auto-rows: 1fr;
}

.forge-memberships-plan {
	position: relative;
	align-self: stretch;
	height: 100%;
	box-sizing: border-box;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.forge-memberships-plan > .kt-inside-inner-col {
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	height: 100%;
	min-height: 100%;
}

.editor-styles-wrapper .forge-memberships-plan > .kadence-inner-column-inner {
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	height: 100%;
	min-height: 100%;
}

.forge-memberships-plan.is-featured {
	border-color: #111 !important;
	transform: none;
}

.forge-memberships-plan > .kt-inside-inner-col,
.editor-styles-wrapper .forge-memberships-plan > .kadence-inner-column-inner {
	padding: 38px 30px 30px !important;
	border-width: 1px !important;
	border-color: #cbc9c3 !important;
	box-shadow: 0 12px 28px rgba(0,0,0,.06);
}

.forge-memberships-plan.is-featured > .kt-inside-inner-col,
.editor-styles-wrapper .forge-memberships-plan.is-featured > .kadence-inner-column-inner {
	border-color: #111 !important;
	outline: 0;
	background: linear-gradient(180deg,#171717 0%,#101010 100%);
	box-shadow: 0 20px 42px rgba(0,0,0,.22);
}

/* The featured card deliberately uses a dark FORGE surface, so do not inherit
 * the public page's dark-on-light typography into it. */
.forge-memberships-plan.is-featured :is(h1,h2,h3,h4,strong,li,.kb-adv-heading, .kt-btn-inner-text) { color: #f7f7f3 !important; }
.forge-memberships-plan.is-featured :is(p,span,small,.wp-block-kadence-advancedheading) { color: #d2d2cc !important; }
.forge-memberships-plan.is-featured :is(hr,.wp-block-separator) { border-color: #3e3e3a !important; }
.forge-memberships-plan.is-featured .forge-memberships-popular,
.forge-memberships-plan.is-featured .forge-memberships-popular * { color: #111 !important; }
.forge-memberships-plan.is-featured .forge-memberships-plan-cta .kb-button,
.forge-memberships-plan.is-featured .forge-memberships-plan-cta .kb-button * { color: #111 !important; }

.forge-memberships-selection-status {
	max-width: 640px;
	margin: 0 auto 24px;
	padding: 16px;
	border: 1px solid #aaa;
	border-radius: 6px;
	color: #111;
	text-align: center;
	font-size: 14px;
}

.forge-memberships-popular {
	position: absolute;
	top: 14px;
	right: 16px;
	left: auto;
	z-index: 2;
	width: max-content;
	margin: 0 !important;
	padding: 7px 10px !important;
	border: 1px solid #fff !important;
	border-radius: 999px;
	background: #fff !important;
	color: #111 !important;
	font-size: 9px !important;
	letter-spacing: 1px !important;
	transform: none;
}

.forge-memberships-plan [data-kb-block*="-subtitle"] {
	min-height: 42px;
}

.forge-memberships-plan [data-kb-block*="-distinction"] {
	min-height: 34px;
}

.forge-memberships-plan [data-kb-block*="-description"] {
	min-height: 72px;
}

.forge-memberships-plan .forge-memberships-price {
	min-height: 82px;
}

.forge-memberships-price-yearly {
	display: none !important;
}

.forge-memberships-pricing.is-yearly .forge-memberships-price-monthly {
	display: none !important;
}

.forge-memberships-pricing.is-yearly .forge-memberships-price-yearly {
	display: flex !important;
}

.forge-memberships-plan-cta {
	margin-top: auto !important;
	padding-top: 30px;
}

.forge-memberships-plan-cta .kb-button {
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding-right: 18px !important;
	padding-left: 18px !important;
	border-radius: 999px !important;
	white-space: nowrap;
}

.forge-memberships-plan.is-featured .forge-memberships-plan-cta .kb-button { background: #fff !important; color: #111 !important; }
.forge-memberships-plan:not(.is-featured):hover { transform: translateY(-3px); border-color: #555; box-shadow: 0 18px 34px rgba(0,0,0,.12); }
.forge-memberships-billing .kb-button:focus-visible { outline: 2px solid #111; outline-offset: 3px; }

.forge-memberships-plan.is-selected {
	border-color: #111 !important;
	outline: 2px solid #111;
	outline-offset: 3px;
}

.forge-memberships-detail-row > .kt-row-column-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.editor-styles-wrapper .forge-memberships-detail-row > .innerblocks-wrap {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.forge-memberships-faq {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1000px;
}

.forge-memberships-faq .forge-memberships-eyebrow {
	align-self: center;
}

.forge-memberships-final .forge-memberships-eyebrow {
	align-self: center;
}

.forge-memberships-faq-item {
	position: relative;
	border-bottom: 1px solid #282828;
	color: #f2f2f0;
}

.forge-memberships-faq-item:first-of-type {
	border-top: 1px solid #282828;
}

.forge-memberships-faq-item > .kt-inside-inner-col > .wp-block-kadence-advancedheading:first-child {
	position: relative;
	padding-right: 46px;
	cursor: pointer;
}

.forge-memberships-faq-item > .kt-inside-inner-col > .wp-block-kadence-advancedheading:first-child::after {
	position: absolute;
	top: 50%;
	right: 6px;
	content: "+";
	font-size: 17px;
	font-weight: 400;
	transform: translateY(-50%);
}

.forge-memberships-faq-item.is-open > .kt-inside-inner-col > .wp-block-kadence-advancedheading:first-child::after {
	content: "−";
}

.forge-memberships-faq-item > .kt-inside-inner-col > .wp-block-kadence-advancedheading:last-child {
	display: none;
	max-width: 760px;
}

.forge-memberships-faq-item.is-open > .kt-inside-inner-col > .wp-block-kadence-advancedheading:last-child,
.editor-styles-wrapper .forge-memberships-faq-item > .kadence-inner-column-inner > .wp-block-kadence-advancedheading:last-child {
	display: block;
}

.editor-styles-wrapper .forge-memberships-faq-item > .kadence-inner-column-inner > .wp-block-kadence-advancedheading:first-child {
	position: relative;
	padding-right: 46px;
}

.editor-styles-wrapper .forge-memberships-faq-item > .kadence-inner-column-inner > .wp-block-kadence-advancedheading:first-child::after {
	position: absolute;
	top: 50%;
	right: 6px;
	content: "+";
	font-size: 17px;
	font-weight: 400;
	transform: translateY(-50%);
}

.editor-styles-wrapper .forge-memberships-page .kt-button.kb-btn-global-fill:is(
	.kt-button-forge-memberships-billing-yearly,
	.kt-button-forge-memberships-plan-independent-button,
	.kt-button-forge-memberships-plan-personal-button,
	.kt-button-forge-memberships-final-question
) {
	background: transparent !important;
	box-shadow: none !important;
}

.editor-styles-wrapper .forge-memberships-page .kt-button.kb-btn-global-fill:is(
	.kt-button-forge-memberships-billing-yearly,
	.kt-button-forge-memberships-plan-independent-button,
	.kt-button-forge-memberships-plan-personal-button,
	.kt-button-forge-memberships-final-question
)::before {
	background: transparent !important;
	opacity: 0 !important;
}

.editor-styles-wrapper .forge-memberships-billing .kt-button {
	min-width: 108px;
	min-height: 44px;
	justify-content: center;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #111 !important;
	white-space: nowrap;
}

.editor-styles-wrapper .forge-memberships-billing .kt-button::before {
	background: transparent !important;
	opacity: 0 !important;
}

.editor-styles-wrapper .forge-memberships-billing .forge-memberships-billing-option.is-active {
	background: #111 !important;
	color: #fff !important;
}

.editor-styles-wrapper .forge-memberships-plan-cta .kt-button {
	justify-content: center;
	width: 100%;
	min-height: 50px;
	padding-right: 18px !important;
	padding-left: 18px !important;
	border-radius: 999px !important;
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.forge-memberships-scroll {
		margin-left: 34px !important;
	}

	.forge-memberships-plan-cta .kb-button {
		font-size: 9px !important;
		letter-spacing: .7px !important;
	}

	.editor-styles-wrapper .forge-memberships-plan-cta .kt-button {
		font-size: 9px !important;
		letter-spacing: .7px !important;
	}
}

@media (max-width: 767px) {
	.forge-memberships-billing { width: min(100%, 340px); margin-bottom: 32px; }
	.forge-memberships-billing .kt-btn-wrap { flex: 1 1 0; min-width: 0; }
	.forge-memberships-billing .kb-button { width: 100%; min-width: 0; padding-inline: 13px !important; }
	.forge-memberships-billing .forge-memberships-saving { padding: 3px 5px; font-size: 7px; }
	.forge-memberships-plan > .kt-inside-inner-col { padding: 32px 22px 24px !important; }
	.forge-memberships-popular { top: 12px; right: 12px; }
	.forge-memberships-hero-right {
		display: none !important;
	}

	.forge-memberships-hero-left {
		background-position: 57% 50% !important;
		min-height: 720px !important;
	}

	.forge-memberships-hero-left > .kt-inside-inner-col {
		min-height: 720px;
	}

	.editor-styles-wrapper .forge-memberships-hero-left > .kadence-inner-column-inner {
		min-height: 720px;
	}

	.forge-memberships-scroll {
		margin-left: 20px !important;
	}

	.forge-memberships-plan.is-featured {
		order: -1;
	}

	.forge-memberships-billing {
		width: min(100%, 340px);
	}

	.forge-memberships-billing .wp-block-kadence-singlebtn,
	.forge-memberships-billing .kb-button {
		flex: 1 1 50%;
		min-width: 0;
		padding-right: 6px !important;
		padding-left: 6px !important;
	}

	.editor-styles-wrapper .forge-memberships-billing .wp-block-kadence-singlebtn,
	.editor-styles-wrapper .forge-memberships-billing .kt-button {
		flex: 1 1 50%;
		min-width: 0;
		padding-right: 6px !important;
		padding-left: 6px !important;
	}

	.forge-memberships-plans > .kt-row-column-wrap,
	.editor-styles-wrapper .forge-memberships-plans > .innerblocks-wrap {
		grid-auto-rows: auto;
	}

	.forge-memberships-plan,
	.forge-memberships-plan > .kt-inside-inner-col,
	.editor-styles-wrapper .forge-memberships-plan > .kadence-inner-column-inner {
		height: auto;
		min-height: 0;
	}

	.forge-memberships-plan [data-kb-block*="-subtitle"],
	.forge-memberships-plan [data-kb-block*="-distinction"],
	.forge-memberships-plan [data-kb-block*="-description"] {
		min-height: 0;
	}

	.forge-memberships-process-item {
		padding-bottom: 24px;
		border-bottom: 1px solid #282828;
	}

	.forge-memberships-final-buttons .kt-btn-wrap,
	.forge-memberships-final-buttons .kb-button {
		width: 100%;
		justify-content: center;
	}

	.editor-styles-wrapper .forge-memberships-final-buttons .kt-btn-wrap,
	.editor-styles-wrapper .forge-memberships-final-buttons .kt-button {
		width: 100%;
		justify-content: center;
	}
}
