.wp-block-propcycle-banner {
	position: relative;
	isolation: isolate;
	--propcycle-content-align: flex-start;
	--propcycle-base-content-width: var(--container-max, 1200px);
	--propcycle-text-content-width: var(--propcycle-base-content-width);
	--propcycle-special-content-width: var(--propcycle-text-content-width);
	--propcycle-button-row-width: var(--propcycle-text-content-width);
	--propcycle-inner-padding: clamp(1rem, 3vw, 2.5rem);
	--propcycle-content-extra-padding: 0;
	/* overflow: hidden; */
	padding: clamp(1rem, 13vw, 6.25rem) clamp(1rem, 2vw, 2rem);
	/* border-radius: 28px; */
	background-color: transparent;
	color: var(--color-text, #2b2e3c);
	/* box-shadow: 0 10px 30px rgba(15, 31, 55, 0.08); */
	z-index: 1;
	border: unset;
	font-family: var(--font-family-base);
}

.wp-block-propcycle-banner,
.wp-block-propcycle-banner *,
.wp-block-propcycle-banner *::before,
.wp-block-propcycle-banner *::after {
	box-sizing: border-box;
}

.propcycle-banner__background-image,
.propcycle-banner__background-gradient {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
	bottom: var(--propcycle-overlap-size, 0);
}

.propcycle-banner__background-image {
	background-image: var(--propcycle-background-image, none);
	background-position: var(--propcycle-background-image-position, center center);
	background-repeat: var(--propcycle-background-image-repeat, no-repeat);
	background-size: var(--propcycle-background-image-size, cover);
	opacity: var(--propcycle-background-image-opacity, 1);
	z-index: var(--propcycle-background-image-z, 0);
}

.propcycle-banner__background-gradient {
	background-image: var(--propcycle-background-gradient, none);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: var(--propcycle-background-gradient-z, 0);
}

.propcycle-banner__inner-background-image,
.propcycle-banner__inner-background-gradient {
	content: '';
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.propcycle-banner__inner-background-image {
	background-image: var(--propcycle-inner-background-image, none);
	background-position: var(--propcycle-inner-background-image-position, center center);
	background-repeat: var(--propcycle-inner-background-image-repeat, no-repeat);
	background-size: var(--propcycle-inner-background-image-size, cover);
	opacity: var(--propcycle-inner-background-image-opacity, 1);
	z-index: var(--propcycle-inner-background-image-z, 0);
	border-radius: 28px;
}

.propcycle-banner__inner-background-gradient {
	background-image: var(--propcycle-inner-background-gradient, none);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	z-index: var(--propcycle-inner-background-gradient-z, 0);
	border-radius: 28px;
}

.wp-block-propcycle-banner.has-banner {
	/* Menu sits over banner with white text */
	padding-top: calc( clamp(1rem, 13vw, 6.25rem) + 96px);
	/* z-index: 2; */
}

.wp-block-propcycle-banner {
	--propcycle-overlap-size: 0px;
	width: 100%;
	/* overflow: hidden; */
}
.wp-block-propcycle-banner.is-selected {
	z-index:2
}

.wp-block-propcycle-banner.is-overlap-small {
	--propcycle-overlap-size: clamp(48px, 7vw, 72px);
}

.wp-block-propcycle-banner.is-overlap-medium {
	--propcycle-overlap-size: clamp(64px, 9vw, 100px);
}

.wp-block-propcycle-banner.is-overlap-large {
	--propcycle-overlap-size: clamp(84px, 11vw, 132px);
}

.wp-block-propcycle-banner.is-overlap-small,
.wp-block-propcycle-banner.is-overlap-medium,
.wp-block-propcycle-banner.is-overlap-large {
	padding-bottom: 0;
	z-index: 2;
}

.wp-block-propcycle-banner.is-overlap-small .propcycle-banner__inner,
.wp-block-propcycle-banner.is-overlap-medium .propcycle-banner__inner,
.wp-block-propcycle-banner.is-overlap-large .propcycle-banner__inner {
	position: relative;
	z-index: 1;
	margin-bottom: calc( -1 * var(--propcycle-overlap-size) );
}

.wp-block-propcycle-banner.is-overlap-small + section {
	padding-top: calc( clamp(48px, 7vw, 72px) + clamp(1rem, 13vw, 6.25rem) );
}

.wp-block-propcycle-banner.is-overlap-medium + section {
	padding-top: calc( clamp(64px, 9vw, 100px) + clamp(1rem, 13vw, 6.25rem) );
}

.wp-block-propcycle-banner.is-overlap-large + section {
	padding-top: calc( clamp(84px, 11vw, 132px) + clamp(1rem, 13vw, 6.25rem) );
}

.site-content:has(.entry-content > .wp-block-propcycle-banner.is-overlap-small:last-child) + .site-footer .footer-main {
	padding-top: calc( clamp(48px, 7vw, 72px) + clamp(1rem, 13vw, 6.25rem) );
}

.site-content:has(.entry-content > .wp-block-propcycle-banner.is-overlap-medium:last-child) + .site-footer .footer-main {
	padding-top: calc( clamp(64px, 9vw, 100px) + clamp(1rem, 13vw, 6.25rem) );
}

.site-content:has(.entry-content > .wp-block-propcycle-banner.is-overlap-large:last-child) + .site-footer .footer-main {
	padding-top: calc( clamp(84px, 11vw, 132px) + clamp(1rem, 13vw, 6.25rem) );
}

.wp-block-propcycle-banner.is-text-light {
	color: #ffffff;
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__preheader,
.wp-block-propcycle-banner.is-text-light .propcycle-banner__heading,
.wp-block-propcycle-banner.is-text-light .propcycle-banner__content,
.wp-block-propcycle-banner.is-text-light .propcycle-banner__special-content {
	color: white;
}

.propcycle-banner__inner {
	position: relative;
	z-index: 2;
	display: grid;
	gap: clamp(1.25rem, 4vw, 3.125rem);
	margin: 0 auto;
	width: 100%;
	max-width: var(--propcycle-base-content-width, 1200px);
	--propcycle-column-width: 33%;
	justify-content: center;
	/* align-items: center; */
}
.wp-block-propcycle-banner:not(.has-inner-panel) .propcycle-banner__inner {
	width: 100%;
	max-width: unset;
	padding: 0;
}
.wp-block-propcycle-banner.has-inner-panel .propcycle-banner__inner {
	padding: var(--propcycle-inner-padding, clamp(1rem, 3vw, 2.5rem));
	border-radius: 28px;
	overflow: hidden;
	background-color: var(--propcycle-inner-background-color, #035FAA);
	border: var(--propcycle-inner-border-width, 0) solid var(--propcycle-inner-border-color, transparent);
	--propcycle-inner-shadow-scale: clamp(0.7, 0.5vw + 0.7, 1);
	box-shadow: var(--propcycle-inner-shadow, none);
	isolation: isolate;
}

.wp-block-propcycle-banner.has-inner-panel .propcycle-banner__inner > :not(.propcycle-banner__inner-background-image):not(.propcycle-banner__inner-background-gradient) {
	position: relative;
	z-index: 2;
}

/* Inner panel padding sizes */
.wp-block-propcycle-banner.is-inner-padding-none .propcycle-banner__inner {
	--propcycle-inner-padding: 0;
}

.wp-block-propcycle-banner.is-inner-padding-small .propcycle-banner__inner {
	--propcycle-inner-padding: clamp(0.75rem, 1.8vw, 1.5rem);
}

.wp-block-propcycle-banner.is-inner-padding-medium .propcycle-banner__inner {
	--propcycle-inner-padding: clamp(1rem, 3vw, 2.5rem);
}

.wp-block-propcycle-banner.is-inner-padding-large .propcycle-banner__inner {
	--propcycle-inner-padding: clamp(1.5rem, 4vw, 3.5rem);
}

/* Remove padding from specific sides */
.wp-block-propcycle-banner.is-remove-padding-left .propcycle-banner__inner {
	padding-left: 0;
}

.wp-block-propcycle-banner.is-remove-padding-right .propcycle-banner__inner {
	padding-right: 0;
}

.wp-block-propcycle-banner.is-remove-padding-top .propcycle-banner__inner {
	padding-top: 0;
}

.wp-block-propcycle-banner.is-remove-padding-bottom .propcycle-banner__inner {
	padding-bottom: 0;
}

.wp-block-propcycle-banner.is-remove-padding-both-sides .propcycle-banner__inner {
	padding-left: 0;
	padding-right: 0;
}

/* Image overflow - push aside content outside container */
/* Enable overflow hidden when image overflow is active */
.wp-block-propcycle-banner.is-image-overflow-small,
.wp-block-propcycle-banner.is-image-overflow-medium,
.wp-block-propcycle-banner.is-image-overflow-large {
	overflow: hidden;
}

/* When content is on right (aside on left), apply negative left margin */
.wp-block-propcycle-banner.is-layout-2-column:not(.is-special-left).is-image-overflow-small .propcycle-banner__aside {
	margin-right: -3rem;
}

.wp-block-propcycle-banner.is-layout-2-column:not(.is-special-left).is-image-overflow-medium .propcycle-banner__aside {
	margin-right: -6rem;
}

.wp-block-propcycle-banner.is-layout-2-column:not(.is-special-left).is-image-overflow-large .propcycle-banner__aside {
	margin-right: -10rem;
}

/* When content is on left (aside on right), apply negative right margin */
.wp-block-propcycle-banner.is-layout-2-column.is-special-left.is-image-overflow-small .propcycle-banner__aside {
	margin-left: -3rem;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left.is-image-overflow-medium .propcycle-banner__aside {
	margin-left: -6rem;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left.is-image-overflow-large .propcycle-banner__aside {
	margin-left: -10rem;
}

/* Column gap controls */
.wp-block-propcycle-banner.is-column-gap-none .propcycle-banner__inner {
	gap: 0;
}

.wp-block-propcycle-banner.is-column-gap-small .propcycle-banner__inner {
	gap: clamp(0.75rem, 2vw, 1.5rem);
}

.wp-block-propcycle-banner.is-column-gap-medium .propcycle-banner__inner {
	gap: clamp(1.25rem, 4vw, 3.125rem);
}

.wp-block-propcycle-banner.is-column-gap-large .propcycle-banner__inner {
	gap: clamp(2rem, 6vw, 5rem);
}

.wp-block-propcycle-banner.is-column-gap-x-large .propcycle-banner__inner {
	gap: clamp(3rem, 8vw, 7rem);
}

.wp-block-propcycle-banner.is-width-inherit {
	--propcycle-base-content-width: var(--container-max, 1200px);
}

.wp-block-propcycle-banner.is-width-standard {
	--propcycle-base-content-width: var(--container-max, 1200px);
}

.wp-block-propcycle-banner.is-width-narrow {
	--propcycle-base-content-width: 960px;
}

.wp-block-propcycle-banner.is-width-wide {
	--propcycle-base-content-width: 1440px;
}

.wp-block-propcycle-banner.is-width-full {
	--propcycle-base-content-width: 100%;
}

.wp-block-propcycle-banner.is-layout-2-column .propcycle-banner__inner {
	grid-template-columns: minmax(0, calc(100% - var(--propcycle-column-width))) minmax(0, var(--propcycle-column-width));
	align-items: center;
	max-width: var(--propcycle-base-content-width, 100%);
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-both-middle .propcycle-banner__inner {
	align-items: center;
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-both-top .propcycle-banner__inner {
	align-items: start;
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top .propcycle-banner__aside,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top .propcycle-banner__aside {
	align-self: center;
}

.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top:not(.is-special-left) .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top:not(.is-special-left) .propcycle-banner__aside,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-left-top.is-special-left .propcycle-banner__aside,
.wp-block-propcycle-banner.is-layout-2-column.is-column-align-right-top.is-special-left .propcycle-banner__content-column {
	align-self: start;
}

.wp-block-propcycle-banner.is-column-width-25 .propcycle-banner__inner {
	--propcycle-column-width: 25%;
}

.wp-block-propcycle-banner.is-column-width-33 .propcycle-banner__inner {
	--propcycle-column-width: 33%;
}

.wp-block-propcycle-banner.is-column-width-50 .propcycle-banner__inner {
	--propcycle-column-width: 50%;
}

.wp-block-propcycle-banner.is-column-width-66 .propcycle-banner__inner {
	--propcycle-column-width: 66%;
}

.wp-block-propcycle-banner.is-column-width-75 .propcycle-banner__inner {
	--propcycle-column-width: 75%;
}

.wp-block-propcycle-banner.is-layout-1-column .propcycle-banner__inner {
	grid-template-columns: minmax(0, 1fr);
}

.wp-block-propcycle-banner.is-layout-1-column .propcycle-banner__aside {
	margin-top: var(--space-4);
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__content-column {
	order: 2;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__aside {
	order: 1;
}

.wp-block-propcycle-banner.is-layout-2-column.is-special-left .propcycle-banner__inner {
	grid-template-columns: minmax(0, var(--propcycle-column-width)) minmax(0, calc(100% - var(--propcycle-column-width)));
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__aside {
	text-align: center;
}

.wp-block-propcycle-banner.is-text-align-center {
	--propcycle-content-align: center;
}

.editor-styles-wrapper .propcycle-gradient-palette .components-circular-option-picker__option-wrapper:first-child .components-circular-option-picker__option,
.editor-styles-wrapper .propcycle-gradient-palette .components-color-palette__item-wrapper:first-child .components-color-palette__item {
	background-color: #ffffff !important;
	background-image:
		linear-gradient(45deg, #d7dce5 25%, transparent 25%),
		linear-gradient(-45deg, #d7dce5 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #d7dce5 75%),
		linear-gradient(-45deg, transparent 75%, #d7dce5 75%) !important;
	background-position: 0 0, 0 6px, 6px -6px, -6px 0 !important;
	background-size: 12px 12px !important;
	border: 1px solid #c7ced9;
	box-sizing: border-box;
}

.propcycle-gradient-palette {
	margin-bottom: 12px;
}

.propcycle-banner__compact-color-control {
	margin-top: 12px;
	margin-bottom: 12px;
}

.propcycle-banner__compact-color-disclosure {
	display: block;
	border-radius: 2px;
	box-shadow: 0 0 0 1px #d0d5dd, 0 1px 2px rgba(16, 24, 40, 0.08);
	background: #fff;
	overflow: hidden;
}

.propcycle-banner__compact-color-summary-row {
	list-style: none;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	padding: 0.7rem 0.8rem;
	cursor: pointer;
	user-select: none;
	box-sizing: border-box;
}

.propcycle-banner__compact-color-summary-row::-webkit-details-marker {
	display: none;
}

.propcycle-banner__compact-color-summary-row::marker {
	content: '';
}

.propcycle-banner__compact-color-label {
	display: block;
	flex: 1 1 auto;
	min-width: 0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.35;
	color: #1e1e1e;
}

.propcycle-banner__compact-color-summary-meta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding-top: 0.05rem;
	margin-left: auto;
	white-space: nowrap;
	font-size: 11px;
	color: #50575e;
	font-variant-numeric: tabular-nums;
	flex: 0 0 auto;
}

.propcycle-banner__compact-color-swatch-shell {
	position: relative;
	width: 1.25rem;
	height: 1.25rem;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: inset 0 0 0 1px rgba(30, 30, 30, 0.35);
	background-color: #fff;
	background-image:
		linear-gradient(45deg, #d7dce5 25%, transparent 25%),
		linear-gradient(-45deg, #d7dce5 25%, transparent 25%),
		linear-gradient(45deg, transparent 75%, #d7dce5 75%),
		linear-gradient(-45deg, transparent 75%, #d7dce5 75%);
	background-position: 0 0, 0 6px, 6px -6px, -6px 0;
	background-size: 12px 12px;
	flex: 0 0 auto;
}

.propcycle-banner__compact-color-swatch {
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.propcycle-banner__compact-color-opacity {
	min-width: 1.75rem;
	text-align: right;
}

.propcycle-banner__compact-color-chevron {
	display: inline-block;
	width: 16px;
	height: 16px;
	font-size: 0;
	line-height: 0;
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 16px 16px;
	transition: transform 0.15s ease;
}

.propcycle-banner__compact-color-disclosure[open] .propcycle-banner__compact-color-chevron {
	transform: rotate(180deg);
}

.propcycle-banner__compact-color-body {
	padding: 0.75rem 0.8rem 0.8rem;
	border-top: 1px solid #eaecf0;
	background: #fcfcfd;
}

.propcycle-banner__compact-color-body .components-circular-option-picker {
	margin-top: 0;
}

.propcycle-banner__compact-color-swatch-row {
	display: block;
}

.propcycle-banner__compact-color-swatch-row .components-circular-option-picker {
	width: auto;
	min-width: 0;
}

.propcycle-banner__compact-color-swatch-row .components-circular-option-picker__swatches {
	gap: 0.35rem;
}

.propcycle-banner__compact-color-custom-swatch.components-button {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	min-width: 28px;
	padding: 0;
	border: 1px solid #d0d5dd;
	border-radius: 999px;
	background: conic-gradient(
		from 180deg,
		#ff5f6d 0deg,
		#ffc371 60deg,
		#f9f871 120deg,
		#55efc4 180deg,
		#74b9ff 240deg,
		#a29bfe 300deg,
		#ff5f6d 360deg
	);
	box-shadow: inset 0 0 0 1px rgba(30, 30, 30, 0.08);
	overflow: hidden;
	flex: 0 0 auto;
}

.propcycle-banner__compact-color-custom-swatch-wrapper {
	flex: 0 0 auto;
}

.propcycle-banner__compact-color-custom-swatch-plus {
	position: relative;
	z-index: 1;
	font-size: 14px;
	line-height: 1;
	font-weight: 600;
	color: #1e1e1e;
	text-shadow: 0 0 2px rgba(255, 255, 255, 0.8);
	pointer-events: none;
}

.propcycle-banner__compact-color-custom-swatch[aria-pressed='true'] {
	box-shadow: inset 0 0 0 4px #1e1e1e, inset 0 0 0 1px rgba(30, 30, 30, 0.08);
}

.propcycle-banner__compact-color-custom-input {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.propcycle-banner__compact-color-body .components-base-control:last-child {
	margin-bottom: 0;
}

.propcycle-banner__compact-color-body .components-color-palette__custom-color-wrapper {
	gap: 0.65rem;
	padding: 0;
	margin: 0 0 0.75rem;
	align-items: center;
}

.propcycle-banner__compact-color-body .components-color-palette__custom-color-button {
	width: 2rem;
	height: 2rem;
	min-width: 2rem;
	min-height: 2rem;
	border-radius: 999px;
	box-shadow: inset 0 0 0 1px rgba(30, 30, 30, 0.18);
	padding: 0;
	flex: 0 0 auto;
}

.propcycle-banner__compact-color-body .components-color-palette__custom-color-text-wrapper {
	gap: 0.1rem;
	min-width: 0;
}

.propcycle-banner__compact-color-body .components-color-palette__custom-color-name,
.propcycle-banner__compact-color-body .components-color-palette__custom-color-value {
	font-size: 11px;
	line-height: 1.35;
}

.propcycle-banner__compact-color-body .components-color-palette__custom-color-name {
	font-weight: 500;
	color: #1e1e1e;
}

.propcycle-banner__compact-color-body .components-color-palette__custom-color-value {
	color: #667085;
}

.propcycle-banner__compact-color-body .components-circular-option-picker__swatches {
	gap: 0.35rem;
}

.propcycle-banner__compact-color-body .components-circular-option-picker__option {
	padding: 0;
}

.propcycle-banner__compact-color-body .components-range-control {
	margin-top: 0.75rem;
}

.propcycle-banner__compact-color-body .components-range-control__number.components-base-control:not(:first-child) {
	margin-top: 0;
}

.components-base-control:not(:first-child) {
	margin-top: 12px;
}
.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__preheader {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__buttons {
	justify-content: center;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__content-column,
.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__aside {
	text-align: right;
}

.wp-block-propcycle-banner.is-text-align-right {
	--propcycle-content-align: flex-end;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__preheader {
	margin-left: auto;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__buttons {
	justify-content: flex-end;
}

.propcycle-banner__content-column,
.propcycle-banner__aside {
	min-width: 0;
}

.propcycle-banner__content-column {
	display: block;
	padding: var(--propcycle-content-extra-padding, 0);
}

.propcycle-banner__content-column > div {
	max-width: 100%;
	margin-right: auto;
	margin-left: auto;
}

.wp-block-propcycle-banner.is-text-align-center .propcycle-banner__content-column > div {
	margin-left: auto;
	margin-right: auto;
}

.wp-block-propcycle-banner.is-text-align-right .propcycle-banner__content-column > div {
	margin-left: auto;
}

.propcycle-banner__text-content {
	width: min(100%, var(--propcycle-text-content-width, 100%));
	max-width: 100%;
	margin: auto;
}

.propcycle-banner__preheader {
	display: inline-flex;
	align-items: center;
	margin-bottom: 1.5rem;
	padding: 0.5rem 0.875rem;
	border-radius: 999px;
	color: #137fd8;
	border: 0.125em solid;
	font-size: 0.875rem;
	font-weight: 700;
	/* letter-spacing: 0.08em; */
	/* text-transform: uppercase; */
	line-height: 1.125;
}

.propcycle-banner__heading {
	margin: 0;
	font-family: var(--font-family-heading, Georgia, serif);
	font-size: clamp(1.75rem, 4vw, 2.375rem);
	line-height: 1.2;
	/* letter-spacing: 0; */
	color: var(--color-heading);
}

.propcycle-banner__heading--xs  { font-size: clamp(0.875rem, 2vw, 1.25rem); }
.propcycle-banner__heading--sm  { font-size: clamp(1.125rem, 2.5vw, 1.625rem); }
.propcycle-banner__heading--md  { font-size: clamp(1.5rem, 3.25vw, 2rem); }
.propcycle-banner__heading--lg  { font-size: clamp(2rem, 5vw, 3rem); }
.propcycle-banner__heading--xl  { font-size: clamp(2.5rem, 6.25vw, 3.75rem); }
.propcycle-banner__heading--2xl { font-size: clamp(3rem, 8vw, 4.75rem); }

.propcycle-banner__content {
	margin-top: 1.5rem;
	font-size: 1rem;
	line-height: 1.65;
	color: var(--color-text);
}

.propcycle-banner__content--small   { font-size: 0.875rem; line-height: 1.6; }
.propcycle-banner__content--large   { font-size: 1.125rem; line-height: 1.68; }
.propcycle-banner__content--largest { font-size: 1.25rem; line-height: 1.7; }

.propcycle-banner__special-content {
	
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__special-content--editable {
	position: relative;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__special-content--editable:before {
	content: '';
	position: absolute;
	display: block;
	right: 0;
	top: -80px;
	width: 25%;
	height: 80px;
	/* background: rgba(0,0,0,0.5); */
}

.propcycle-banner__editor-image-selector {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 12px;
	align-self: stretch;
	width: 100%;
}

.propcycle-banner__editor-image-selector-label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: uppercase;
	color: #1e1e1e;
}

.propcycle-banner__editor-image-selector-button.components-button {
	justify-content: center;
	min-height: 36px;
	border-style: dashed;
	width: 100%;
}

.propcycle-banner__editor-image-selector-preview-shell {
	position: relative;
	width: 100%;
	max-width: 240px;
}

.propcycle-banner__editor-image-selector-preview {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 1;
	border-radius: 10px;
	overflow: hidden;
	border: 1px solid #d0d5dd;
	background: #eceff3;
	box-shadow: 0 1px 2px rgba(16, 24, 40, 0.06);
	cursor: pointer;
	transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
	outline: none;
}

.propcycle-banner__editor-image-selector-preview:hover,
.propcycle-banner__editor-image-selector-preview:focus {
	border-color: #98a2b3;
	box-shadow: 0 0 0 1px #98a2b3;
	transform: translateY(-1px);
}

.propcycle-banner__editor-image-selector-preview-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 0.875rem;
	background: transparent;
}

.propcycle-banner__editor-image-selector-remove {
	position: absolute;
	top: 0.4rem;
	right: 0.4rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(30, 30, 30, 0.86);
	color: #fff;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.24);
	transition: background 0.15s ease, transform 0.15s ease;
	outline: none;
}

.propcycle-banner__editor-image-selector-remove:hover,
.propcycle-banner__editor-image-selector-remove:focus {
	background: #b42318;
	transform: scale(1.05);
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-toolbar,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-tools {
	position: absolute;
	z-index: 30;
	display: flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 12px 30px rgba(15, 23, 42, 0.16);
	backdrop-filter: blur(8px);
	transition: opacity 0.15s ease, transform 0.15s ease;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-4px);
	color: #1e1e1e;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-toolbar > .components-button,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-tools > .components-button {
	border-radius: 100px;
	padding-left: 1px;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-toolbar {
	top: 0.75rem;
	right: 0.75rem;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile--editor-editable {
	position: relative;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-tools {
	top: 0.75rem;
	right: 0.75rem;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-count {
	min-width: 1.5rem;
	text-align: center;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
	color: var(--color-heading);
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel {
	position: absolute;
	top: calc(100% + 0.45rem);
	right: 0;
	width: min(20rem, calc(100vw - 2rem));
	padding: 0.9rem;
	border-radius: 0.9rem;
	background: #ffffff;
	box-shadow: 0 20px 45px rgba(15, 23, 42, 0.18);
	border: 1px solid rgba(15, 23, 42, 0.08);
	pointer-events: auto;
	z-index: 40;
	/* color: red; */
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
	gap: 0;
	color: #1e1e1e;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__content-editor-panel {
	max-height: min(70vh, 38rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0.75rem;
	border-radius: 2px;
	box-shadow: 0 0 0 1px #1e1e1e;
	border: 0;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel--settings {
	max-height: min(70vh, 38rem);
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: 0.75rem;
	border-radius: 2px;
	box-shadow: 0 0 0 1px #1e1e1e;
	border: 0;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel--settings {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: left;
	gap: 0.45rem;
	color: #1e1e1e;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel--settings > .components-button {
	justify-content: flex-start;
	text-align: left;
	padding: 6px 10px 8px;
	height: unset;
	align-self: flex-start;
	border-radius: unset;
}
.components-button.is-destructive:not(.is-primary):not(.is-secondary):not(.is-tertiary):not(.is-link) {
	border: 1px solid
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel .components-base-control:last-child,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel .components-base-control:last-child {
	margin-bottom: 0;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel .components-base-control__label,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel .components-base-control__label,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel .components-toggle-control__label,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel .components-toggle-control__label {
	text-align: left;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__content-editor-panel .components-select-control__input,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel .components-select-control__input,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel .components-select-control__input,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel--settings .components-select-control__input,
.propcycle-banner-toolbar-popover .propcycle-banner__toolbar-panel .components-select-control__input {
	padding-right: 32px;
	background-color: #fff;
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E");
	background-repeat: no-repeat;
	background-position: right 8px center;
	background-size: 16px 16px;
	appearance: none;
	-webkit-appearance: none;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__content-editor-panel .components-select-control__input:disabled,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel .components-select-control__input:disabled,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel .components-select-control__input:disabled,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel--settings .components-select-control__input:disabled,
.propcycle-banner-toolbar-popover .propcycle-banner__toolbar-panel .components-select-control__input:disabled {
	background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23a0a5aa%22%2F%3E%3C%2Fsvg%3E");
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tiles-editor-panel-heading,
.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-editor-panel-heading {
	margin: 0 0 0.6rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #475569;
}

/* Block toolbar dropdown menus should be anchored popovers, not absolute in-canvas panels. */
.propcycle-banner-toolbar-popover .components-popover__content {
	width: min(20rem, calc(100vw - 1.25rem));
	max-height: min(70vh, 38rem);
	overflow: auto;
	padding: 0;
	border-radius: 2px;
	box-shadow: 0 0 0 1px #1e1e1e;
	border: 0;
}

.propcycle-banner-toolbar-popover .propcycle-banner__toolbar-panel {
	position: static;
	top: auto;
	right: auto;
	width: 100%;
	min-width: 16.5rem;
	max-width: none;
	padding: 0.75rem;
	border: 0;
	box-shadow: none;
	border-radius: 0;
	background: #fff;
	z-index: auto;
	gap: 0.45rem;
}

.propcycle-banner__special-content.is-placeholder {
	display: grid;
	gap: 0.6rem;
}

.propcycle-banner__special-content.is-placeholder strong {
	font-family: var(--font-family-heading, Georgia, serif);
	font-size: 1.05rem;
	line-height: 1.3;
}

.propcycle-banner__special-content.is-placeholder p {
	margin: 0;
	opacity: 0.85;
}

.propcycle-banner__video {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
	background: white;
}

.propcycle-banner__video-shell {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 31px;
	border: 11px solid rgba(255,255,255,0.2);
	box-shadow: 0 9px 24px rgba(0,0,0,0.18);
}

.propcycle-banner__lottie-shell {
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	border-radius: 20px;
	background: transparent;
	aspect-ratio: 1 / 1;
}

.propcycle-banner__lottie {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.propcycle-banner__video-shell:not(.is-active) .propcycle-banner__video {
	pointer-events: none;
	background: white;
}

.propcycle-banner__video-activate, .propcycle-banner__video-activate:hover {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 0;
	background: transparent;
	color: rgba(255, 255, 255, 0.01);
	cursor: pointer;
}

.propcycle-banner__video-shell.is-active .propcycle-banner__video-activate {
	display: none;
}

.propcycle-banner__special-content.is-empty {
	opacity: 0.65;
	font-style: italic;
}

.propcycle-banner__special-content--faq {
	width: 100%;
}

.propcycle-banner__faq-list {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.propcycle-banner__faq-item {
	border: 1px solid var(--color-border, rgba(0, 0, 0, 0.15));
	border-radius: 0.75rem;
	background: var(--propcycle-faq-bg-color, rgba(255, 255, 255, 0.9));
	overflow: hidden;
}

.propcycle-banner__faq-item--shadow-none {
	box-shadow: none;
}

.propcycle-banner__faq-item--shadow-border {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__faq-item--shadow-small {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__faq-item--shadow-medium {
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.propcycle-banner__faq-item--shadow-large {
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.propcycle-banner__faq-question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	list-style: none;
	cursor: pointer;
	padding: 0.85rem 1rem;
	font-weight: 700;
	font-family: var(--font-family-heading);
}

.propcycle-banner__faq-question::-webkit-details-marker {
	display: none;
}

.propcycle-banner__faq-question-text {
	flex: 1 1 auto;
}

.propcycle-banner__faq-chevron {
	transition: transform 180ms ease;
}
.propcycle-banner__faq-item .propcycle-banner__faq-chevron {
	transform: rotate(90deg);
}
.propcycle-banner__faq-item[open] .propcycle-banner__faq-chevron {
	transform: rotate(-90deg);
}

.propcycle-banner__faq-answer {
	padding: 0 1rem 1rem;
}

.propcycle-banner__faq-answer > :last-child {
	margin-bottom: 0;
}

.propcycle-banner__faq-list--text-white .propcycle-banner__faq-item, 
.propcycle-banner__faq-list--text-white .propcycle-banner__faq-chevron {
	color: #fff;
	border-color: rgba(255, 255, 255, 0.45);
}

.propcycle-banner__faq-list--text-white .propcycle-banner__faq-answer a {
	color: inherit;
	transition: all .5s ease;
}

.propcycle-banner__faq-list--text-dark .propcycle-banner__faq-item {
	color: var(--color-text, #1f2937);
}

.propcycle-banner__faq-list--question-small .propcycle-banner__faq-question {
	font-size: 0.95rem;
}

.propcycle-banner__faq-list--question-medium .propcycle-banner__faq-question {
	font-size: 1.05rem;
}

.propcycle-banner__faq-list--question-large .propcycle-banner__faq-question {
	font-size: 1.2rem;
}

.propcycle-banner__faq-list--answer-small .propcycle-banner__faq-answer {
	font-size: 0.92rem;
}

.propcycle-banner__faq-list--answer-medium .propcycle-banner__faq-answer {
	font-size: 1rem;
}

.propcycle-banner__faq-list--answer-large .propcycle-banner__faq-answer {
	font-size: 1.1rem;
}
.propcycle-banner__faq-answer > *:last-child {
	margin-bottom: 0px
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__special-content {
	/* background: rgba(255, 255, 255, 0.12); */
}

.propcycle-banner__buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
	width: min(100%, var(--propcycle-button-row-width, var(--propcycle-text-content-width, 100%)));
	max-width: 100%;
}

.propcycle-banner__inline-content {
	margin-top: 2.5rem;
	width: min(100%, var(--propcycle-special-content-width, var(--propcycle-text-content-width, 100%)));
	max-width: 100%;
}

.propcycle-banner__inline-content > * {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.propcycle-banner__inline-content + .propcycle-banner__buttons {
	margin-top: 2.5rem;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons > .block-editor-inner-blocks {
	width: 100%;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons > .block-editor-inner-blocks > .block-editor-block-list__layout {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.75rem;
	width: 100%;
}

.editor-styles-wrapper .wp-block-propcycle-banner.is-text-align-center .propcycle-banner__buttons > .block-editor-inner-blocks > .block-editor-block-list__layout {
	justify-content: center;
}

.editor-styles-wrapper .wp-block-propcycle-banner.is-text-align-right .propcycle-banner__buttons > .block-editor-inner-blocks > .block-editor-block-list__layout {
	justify-content: flex-end;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons .block-editor-block-list__block[data-type="propcycle/banner-button"] {
	width: auto;
	max-width: none;
	margin: 0;
	flex: 0 0 auto;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons .propcycle-banner-button-editor {
	display: inline-flex;
	width: auto;
}

.editor-styles-wrapper .propcycle-banner-button-link-popover .block-editor-link-control {
	min-width: 320px;
}

@media (hover: hover) {
	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons .block-list-appender {
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.15s ease;
	}

	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons:hover .block-list-appender,
	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__buttons:focus-within .block-list-appender {
		opacity: 1;
		pointer-events: auto;
	}

	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__special-content--editable:hover .propcycle-banner__tiles-editor-toolbar,
	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__special-content--editable:focus-within .propcycle-banner__tiles-editor-toolbar {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(-70px);
	}
	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile--editor-editable:hover .propcycle-banner__tile-editor-tools,
	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile--editor-editable:focus-within .propcycle-banner__tile-editor-tools,
	.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile--editor-editable.propcycle-banner__tile--editor-panel-open .propcycle-banner__tile-editor-tools {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(-30px);
	}
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-primary {
	background: #ffffff;
	color: var(--color-heading);
	border-color: white;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-primary:hover {
	box-shadow: 0 12px 3px -4px rgba(0, 0, 0, 0.1);	
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-primary svg {
	color: var(--color-primary);	
}

.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-secondary {
	border-color: rgba(255, 255, 255, 0.85);
	color: #ffffff;
	background: transparent;
}
.propcycle-button__icon--left svg path {
	stroke: currentColor;
	stroke-width: 8% !important;
}
.propcycle-button__icon--left svg path[stroke="none"] {
	stroke: none
}
.wp-block-propcycle-banner.is-text-light .propcycle-banner__buttons .propcycle-button-secondary svg {
	color: white;
}

.wp-block-propcycle-banner.is-background-image {
	background-color: rgba(19, 127, 216, 0.14);
}

.editor-styles-wrapper .wp-block-propcycle-banner {
	max-width: 100%;
	margin: 0;
	font-size: 16px;
}

@media (max-width: 782px) {
	.wp-block-propcycle-banner.is-layout-2-column .propcycle-banner__inner {
		grid-template-columns: 1fr;
	}

	.wp-block-propcycle-banner.is-overlap-small {
		--propcycle-overlap-size: 48px;
	}

	.wp-block-propcycle-banner.is-overlap-small + section {
		padding-top: calc( 48px + clamp(1rem, 13vw, 6.25rem) );
	}

	.wp-block-propcycle-banner.is-overlap-medium {
		--propcycle-overlap-size: 72px;
	}

	.wp-block-propcycle-banner.is-overlap-medium + section {
		padding-top: calc( 72px + clamp(1rem, 13vw, 6.25rem) );
	}

	.wp-block-propcycle-banner.is-overlap-large {
		--propcycle-overlap-size: 96px;
	}

	.wp-block-propcycle-banner.is-overlap-large + section {
		padding-top: calc( 96px + clamp(1rem, 13vw, 6.25rem) );
	}
}

/* Image Gallery Styles */
.propcycle-banner__image-gallery {
	display: flex;
	gap: 0;
	align-items: center;
	justify-content: center;
	width: 100%;
}

.propcycle-banner__image-gallery.is-layout-single {
	flex-wrap: wrap;
}

.propcycle-banner__image-gallery.is-layout-single .propcycle-banner__image-item {
	width: 100%;
	height: auto;
}

.propcycle-banner__image-content {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: max(0px, calc(var(--image-border-radius-size, 0px) - var(--image-border-gap-size, 0px)));
}

.propcycle-banner__image-gallery.is-layout-overlap {
	--overlap-size: clamp(48px, 5vw, 72px);
	--image-left-ratio: 50%;
	--image-right-ratio: 50%;
	--image-vertical-spacing: var(--overlap-size);
	flex-wrap: nowrap;
	position: relative;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-small {
	--image-vertical-spacing: clamp(48px, 5vw, 72px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-smaller {
	--image-vertical-spacing: clamp(34px, 3.5vw, 56px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-smallest {
	--image-vertical-spacing: clamp(22px, 2.2vw, 40px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-medium {
	--image-vertical-spacing: clamp(64px, 7vw, 100px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-spacing-large {
	--image-vertical-spacing: clamp(84px, 10vw, 132px);
}

.propcycle-banner__image-gallery.is-layout-overlap .propcycle-banner__image-item {
	flex: 0 0 auto;
	height: auto;
	object-fit: cover;
	border-radius: inherit;
}

.propcycle-banner__image-gallery.is-layout-overlap:not(.is-overlap-full-small):not(.is-overlap-full-medium):not(.is-overlap-full-large) .propcycle-banner__image-item:first-child {
	width: calc(var(--image-left-ratio) + (var(--overlap-size) / 2));
	margin-right: calc(-1 * (var(--overlap-size) / 2));
}

.propcycle-banner__image-gallery.is-layout-overlap:not(.is-overlap-full-small):not(.is-overlap-full-medium):not(.is-overlap-full-large) .propcycle-banner__image-item:last-child {
	width: calc(var(--image-right-ratio) + (var(--overlap-size) / 2));
	margin-left: calc(-1 * (var(--overlap-size) / 2));
}

.propcycle-banner__image-gallery.is-overlap-overlap-medium {
	--overlap-size: clamp(64px, 7vw, 100px);
}

.propcycle-banner__image-gallery.is-overlap-overlap-large {
	--overlap-size: clamp(84px, 10vw, 132px);
}

.propcycle-banner__image-gallery.is-overlap-full-small {
	--overlap-size: clamp(18px, 2vw, 30px);
	--full-reveal-size: clamp(18px, 2vw, 30px);
}

.propcycle-banner__image-gallery.is-overlap-full-medium {
	--overlap-size: clamp(30px, 3vw, 48px);
	--full-reveal-size: clamp(30px, 3vw, 48px);
}

.propcycle-banner__image-gallery.is-overlap-full-large {
	--overlap-size: clamp(44px, 4.5vw, 72px);
	--full-reveal-size: clamp(44px, 4.5vw, 72px);
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large {
	display: grid;
	align-items: center;
	justify-items: center;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small .propcycle-banner__image-item,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium .propcycle-banner__image-item,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large .propcycle-banner__image-item {
	grid-area: 1 / 1;
	margin-left: 0;
	margin-right: 0;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small .propcycle-banner__image-item:first-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium .propcycle-banner__image-item:first-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large .propcycle-banner__image-item:first-child {
	width: calc(100% - var(--full-reveal-size) - var(--image-border-gap-size, 0px));
	justify-self: start;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-small .propcycle-banner__image-item:last-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-medium .propcycle-banner__image-item:last-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-overlap-full-large .propcycle-banner__image-item:last-child {
	width: calc((100% - var(--full-reveal-size)) * (var(--image-right-ratio) / 100%));
	justify-self: end;
}


.propcycle-banner__image-gallery.is-layout-overlap.is-stack-standard .propcycle-banner__image-item:first-child {
	z-index: 2;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-stack-standard .propcycle-banner__image-item:last-child {
	z-index: 1;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-stack-reverse .propcycle-banner__image-item:first-child {
	z-index: 1;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-stack-reverse .propcycle-banner__image-item:last-child {
	z-index: 2;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-center {
	align-items: center;
}


.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-top-to-bottom .propcycle-banner__image-item:first-child {
	align-self: flex-start;
	margin-bottom: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-top-to-bottom .propcycle-banner__image-item:last-child {
	align-self: flex-end;
	margin-top: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-bottom-to-top .propcycle-banner__image-item:first-child {
	align-self: flex-end;
	margin-top: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-alignment-bottom-to-top .propcycle-banner__image-item:last-child {
	align-self: flex-start;
	margin-bottom: calc(var(--image-vertical-spacing) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-first .propcycle-banner__image-item:first-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-last .propcycle-banner__image-item:last-child {
	object-fit: cover;
	position: absolute;
	top: 0;
	bottom: 0;
	margin-top: 0;
	margin-bottom: 0;
	height: 100%;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-first .propcycle-banner__image-item:first-child > .propcycle-banner__image-content,
.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-last .propcycle-banner__image-item:last-child > .propcycle-banner__image-content {
	height: 100%;
}

.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-first .propcycle-banner__image-item:last-child,
.propcycle-banner__image-gallery.is-layout-overlap.is-decorative-last .propcycle-banner__image-item:first-child {
	align-self: center;
	margin-top: 0;
	margin-bottom: 0;
	margin-top: calc((var(--image-vertical-spacing) / 2) + var(--image-border-gap-size, 0px));
	margin-bottom: calc((var(--image-vertical-spacing) / 2) + var(--image-border-gap-size, 0px));
}

.propcycle-banner__image-item {
	display: block;
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	border-radius: 0.25rem;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.block-editor-button-block-appender {
	background: rgba(255,255,255,0.5)
}

/* Tiles styling */
.propcycle-banner__tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.5rem;
	/* margin-top: 4rem; */
	/* margin-bottom: 4rem; */
}

.propcycle-banner__tiles--cols-1 {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.propcycle-banner__tiles--cols-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.propcycle-banner__tiles--cols-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.propcycle-banner__tiles--cols-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.propcycle-banner__tiles--cols-5 {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.propcycle-banner__tiles--cols-6 {
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.propcycle-banner__tiles--version-2 {
	gap: 3.25rem;
}

@media (max-width: 1024px) {
	.propcycle-banner__tiles--cols-4,
	.propcycle-banner__tiles--cols-5,
	.propcycle-banner__tiles--cols-6 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 782px) {
	.propcycle-banner__tiles--cols-2,
	.propcycle-banner__tiles--cols-3,
	.propcycle-banner__tiles--cols-4,
	.propcycle-banner__tiles--cols-5,
	.propcycle-banner__tiles--cols-6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.propcycle-banner__tiles--cols-2,
	.propcycle-banner__tiles--cols-3,
	.propcycle-banner__tiles--cols-4,
	.propcycle-banner__tiles--cols-5,
	.propcycle-banner__tiles--cols-6 {
		grid-template-columns: 1fr;
	}
}

.propcycle-banner__tile-body--align-left {
	text-align: left;
	align-items: flex-start;
}

.propcycle-banner__tile-body--align-center {
	text-align: center;
	align-items: center;
}

.propcycle-banner__tile-body--align-right {
	text-align: right;
	align-items: flex-end;
}

.propcycle-banner__tile-body--align-center .propcycle-banner__tile-icon-circle {
	align-self: center;
}

.propcycle-banner__tile-body--align-right .propcycle-banner__tile-icon-circle {
	margin-right: 0;
	/* transform: translate(0, 50%); */
}

.propcycle-banner__tile-body--align-left .propcycle-banner__tile-icon-circle {
	margin-left: 0;
}


.propcycle-banner__tile-body--align-center .propcycle-banner__tile-cta {
	align-self: center;
}

.propcycle-banner__tile-body--align-right .propcycle-banner__tile-cta {
	align-self: flex-end;
}

.wp-block-propcycle-banner.has-tile-swiper-active {
	overflow: hidden;
}

.propcycle-banner__tiles--scrolling {
	overflow: hidden;
	padding-bottom: 2.5rem;
	position: relative;
}

.propcycle-banner__tiles--scrolling:not(.swiper) {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	gap: 1.5rem;
	padding-bottom: 0.75rem;
	margin: -1.5rem;
	padding: 1.5rem;
}

.propcycle-banner__tiles--scrolling .propcycle-banner__tile {
	height: auto;
}

.propcycle-banner__tiles--scrolling:not(.swiper) .propcycle-banner__tile {
	flex: 0 0 min(340px, 82vw);
}

.propcycle-banner__tiles--scrolling .swiper-wrapper {
	align-items: stretch;
}

.propcycle-banner__tiles-nav {
	position: absolute;
	right: 0;
	top: calc(100% + 3rem);
	display: inline-flex;
	gap: 0.5rem;
	z-index: 3;
}

.propcycle-banner__tiles-nav-button {
	width: 40px;
	height: 40px;
	border: 2px solid var(--color-border);
	border-radius: 999px;
	background: rgba(255,255,255,0.15);
	color: var(--color-primary);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.propcycle-banner__tiles-nav-button .propcycle-button__chevron {
	color: inherit;
	width: 18px;
	height: 18px;
}

.propcycle-banner__tiles-nav-button--prev .propcycle-button__chevron {
	transform: rotate(180deg);
}

.propcycle-banner__tiles-nav-button:hover {
	/* background: var(--color-primary); */
	border-color: var(--color-primary);
	/* color: #fff; */
}

.propcycle-banner__tiles-nav-button.swiper-button-disabled {
	opacity: 0.45;
	cursor: default;
	color: var(--color-text);
}

.propcycle-banner__tile {
	display: flex;
	flex-direction: column;
	/* border: 1px solid #ddd; */
	border-radius: 20px;
	background: white;
	/* overflow: hidden; */
	text-align: left;
}

.propcycle-banner__tile--image-position-left,
.propcycle-banner__tile--image-position-right {
	flex-direction: row;
	align-items: stretch;
}

.propcycle-banner__tile--image-position-left .propcycle-banner__tile-image-wrapper,
.propcycle-banner__tile--image-position-right .propcycle-banner__tile-image-wrapper {
	width: 42%;
	min-width: 42%;
	flex: 0 0 42%;
	height: auto;
	border-radius: 20px 0 0 20px;
}

.propcycle-banner__tile--image-position-right .propcycle-banner__tile-image-wrapper {
	order: 2;
	border-radius: 0 20px 20px 0;
}

.propcycle-banner__tile--image-position-right .propcycle-banner__tile-body {
	order: 1;
}

.propcycle-banner__tile--image-position-bottom .propcycle-banner__tile-image-wrapper {
	order: 2;
	border-radius: 0 0 20px 20px;
}

.propcycle-banner__tile--image-position-bottom .propcycle-banner__tile-body {
	order: 1;
}

.propcycle-banner__tile--image-position-top .propcycle-banner__tile-image-wrapper {
	border-radius: 20px 20px 0 0;
}

.propcycle-banner__tile-body {
	display: flex;
	flex-direction: column;
	gap: var(--propcycle-tile-body-gap, 0.5rem);
	padding: 2.125rem;
	flex: 1 1 auto;
	width: 100%;
}
.propcycle-banner__tile.propcycle-banner__tile--version-3 {
	background: unset;
	border-radius: unset;
	box-shadow: unset !important;
}

.propcycle-banner__tile.propcycle-banner__tile--version-3 .propcycle-banner__tile-body {
	width: 90% !important;
	margin-top: -2em;
	background: white;
	z-index: 1;
	border-radius: 0 20px 20px 20px;
}

.propcycle-banner__tile.propcycle-banner__tile--version-3 .propcycle-banner__tile-image-wrapper {
	border-radius: 20px 20px 0px 0;
	box-shadow: inset 0 0 100px rgba(0,0,0,0.5);
}
.propcycle-banner__tile.propcycle-banner__tile--version-3 .propcycle-banner__tile-image-wrapper:after {
	content:'';
	display: block;
	left:0;
	top:0;
	width:100%;
	height:100%;
	position:absolute;
	box-shadow: inset 0 0 100px rgba(0,0,0,0.03);
	background-image: linear-gradient(transparent 75%, rgba(0,0,0,.2))
}

.propcycle-banner__tile.propcycle-banner__tile--shadow-border, 
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-border .propcycle-banner__tile-image-wrapper {
	border: 1px solid var(--color-border, rgba(0,0,0,0.2));	
}

.propcycle-banner__tile.propcycle-banner__tile--shadow-small,
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-small .propcycle-banner__tile-image-wrapper {
	box-shadow: 0 2px 3px rgba(0, 0, 0, 0.10);	
}

.propcycle-banner__tile.propcycle-banner__tile--shadow-medium,
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-medium .propcycle-banner__tile-image-wrapper {
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.10);	
}

.propcycle-banner__tile.propcycle-banner__tile--shadow-large,
.propcycle-banner__tile--version-2.propcycle-banner__tile--shadow-large .propcycle-banner__tile-image-wrapper {
	box-shadow: 0 5px 8px rgba(0, 0, 0, 0.10);	
}

.propcycle-banner__tile--version-2 {
	box-shadow: unset !important;
}

.propcycle-banner__tile-image {
	margin-bottom: 0;
	/* border-radius: 0; */
	height: auto;
}

.propcycle-banner__tile--version-2 {
	background: transparent;
	border: 0;
	box-shadow: none;
	align-items: center;
	text-align: center;
	border-radius: unset;
}

.propcycle-banner__tile--version-2 .propcycle-banner__tile-body {
	padding: 0;
	/* align-items: center; */
	/* text-align: center; */
}

.propcycle-banner__tile--version-2 .propcycle-banner__tile-image {
	display: block;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile--version-2 .propcycle-banner__tile-image {
	display: block;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile--version-2 .propcycle-banner__tile-image--placeholder {
	display: flex;
}

.wp-block-propcycle-banner .propcycle-banner__tile--version-2 .propcycle-banner__tile-image-wrapper {
	margin-bottom: 1.35rem;
	border-radius: 20px;
}

/* Background image support */
.propcycle-banner__tile-image-wrapper {
	position: relative;
	/* width: 100%; */
	overflow: hidden;
	display: flex;
	align-content: center;
	/* flex-wrap: wrap; */
	justify-content: center;
	border-radius: 20px 20px 0 0;
}

@media (max-width: 782px) {
	.propcycle-banner__tile--image-position-left,
	.propcycle-banner__tile--image-position-right {
		flex-direction: column;
	}

	.propcycle-banner__tile--image-position-left .propcycle-banner__tile-image-wrapper,
	.propcycle-banner__tile--image-position-right .propcycle-banner__tile-image-wrapper {
		order: 0;
		width: auto;
		min-width: 0;
		flex: 0 1 auto;
		border-radius: 20px 20px 0 0;
	}

	.propcycle-banner__tile--image-position-left .propcycle-banner__tile-body,
	.propcycle-banner__tile--image-position-right .propcycle-banner__tile-body {
		order: 1;
	}
}

/* Image aspect ratios apply to wrapper */
.propcycle-banner__tile-image-wrapper--square {
	aspect-ratio: 1 / 1;
}

.propcycle-banner__tile-image-wrapper--shortest {
	aspect-ratio: 3 / 1;
}

.propcycle-banner__tile-image-wrapper--short {
	aspect-ratio: 2 / 1;
}

.propcycle-banner__tile-image-wrapper--medium {
	aspect-ratio: 4 / 3;
}

.propcycle-banner__tile-image-wrapper--large {
	aspect-ratio: 1 / 1.35;
}

.propcycle-banner__tile-background-image {
	position: absolute;
	width: calc(100% + 4rem) !important;
	height: calc(100% + 4rem) !important;
	object-fit: cover;
	z-index: 0;
	top: -2rem;
	left: -2rem;
	max-width: unset !important;
	filter: blur(var(--tile-background-blur, 10px));
	transform: translate3d(0, 0, 0) scale(1.08);
	transform-origin: center center;
	transition: filter 0.35s ease;
	will-change: transform;
}


.propcycle-banner__tile-image-wrapper:hover .propcycle-banner__tile-background-image,
.propcycle-banner__tile-image-wrapper:focus-within .propcycle-banner__tile-background-image {
	filter: blur(calc(var(--tile-background-blur, 10px) + 1px));
}

.propcycle-banner__tile-background-edge-shadow {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	--tile-edge-shadow: rgba(0, 0, 0, 0.04);
	--tile-edge-shadow-soft: rgba(0, 0, 0, 0.012);
	--tile-edge-shadow-size: 40px;
	background: transparent;
}

.propcycle-banner__tile-background-edge-shadow--center {
	background:
		linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--top-left {
	background:
		linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--top {
	background: linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--top-right {
	background:
		linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to bottom, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--right {
	background: linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--bottom-right {
	background:
		linear-gradient(to left, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--bottom {
	background: linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--bottom-left {
	background:
		linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size)),
		linear-gradient(to top, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

.propcycle-banner__tile-background-edge-shadow--left {
	background: linear-gradient(to right, var(--tile-edge-shadow), transparent var(--tile-edge-shadow-size));
}

@media (prefers-reduced-motion: reduce) {
	.propcycle-banner__tile-background-image {
		transition: none;
		transform: none;
	}
}

img.propcycle-banner__tile-image--with-background {
	position: relative;
	z-index: 2;
	--tile-image-offset: 12px;
	--tile-image-shift-x: 0px;
	--tile-image-shift-y: 0px;
	max-width: calc( 100% - (var(--tile-image-offset) * 2));
	/* margin: var(--tile-image-offset); */
	transform: translate( var(--tile-image-shift-x), var(--tile-image-shift-y) );
	box-sizing: border-box;
	width: auto;
	height: auto;
}


.propcycle-banner__tile-image--rounded {
	--tile-image-radius: 18px;
	border-radius: var(--tile-image-radius);
}

.propcycle-banner__tile-image--rounded-small {
	--tile-image-radius: 10px;
}

.propcycle-banner__tile-image--rounded-medium {
	--tile-image-radius: 18px;
}

.propcycle-banner__tile-image--rounded-large {
	--tile-image-radius: 28px;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-top-left {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-left-radius: 0;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-top {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	margin-top: 0 !important;
	margin-bottom: auto;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-top-right {
	border-top-left-radius: 0;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-right {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	width: auto;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-bottom-right {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-bottom {
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
	margin-bottom: 0 !important;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-bottom-left {
	border-top-left-radius: 0;
	border-bottom-right-radius: 0;
	border-bottom-left-radius: 0;
}

.propcycle-banner__tile-image--rounded.propcycle-banner__tile-image--pos-left {
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.propcycle-banner__tile-image--filter-shadow {
	filter: drop-shadow(0 14px 24px rgba(0, 0, 0, 0.18));
}

.propcycle-banner__tile-image--shadow-border {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-image--shadow-small {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-image--shadow-medium {
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.propcycle-banner__tile-image--shadow-large {
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.propcycle-banner__tile-background-image--shadow {
	border-radius: 0;
}

.propcycle-banner__tile-background-image--shadow-border {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-background-image--shadow-small {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-background-image--shadow-medium {
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.propcycle-banner__tile-background-image--shadow-large {
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.propcycle-banner__tile-image--shadow-border.propcycle-banner__tile-image {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-image--shadow-small.propcycle-banner__tile-image {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-image--shadow-medium.propcycle-banner__tile-image {
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.propcycle-banner__tile-image--shadow-large.propcycle-banner__tile-image {
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

.propcycle-banner__tile-image--background-shadow-border.propcycle-banner__tile-image {
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-image--background-shadow-small.propcycle-banner__tile-image {
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.14);
}

.propcycle-banner__tile-image--background-shadow-medium.propcycle-banner__tile-image {
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}

.propcycle-banner__tile-image--background-shadow-large.propcycle-banner__tile-image {
	box-shadow: 0 16px 32px rgba(0, 0, 0, 0.22);
}

/* Image padding controls offset distance */
.propcycle-banner__tile-image--pad-small {
	--tile-image-offset: 8px;
}

.propcycle-banner__tile-image--pad-medium {
	--tile-image-offset: 12px;
}

.propcycle-banner__tile-image--pad-large {
	--tile-image-offset: 16px;
}

.propcycle-banner__tile-image--pos-top-left.propcycle-banner__tile-image {
	--tile-image-shift-x: calc( -1 * var(--tile-image-offset) );
	--tile-image-shift-y: calc( -1 * var(--tile-image-offset) );
	margin-right: auto;
	margin-bottom: auto;
}

.propcycle-banner__tile-image--pos-top.propcycle-banner__tile-image {
	--tile-image-shift-y: calc( -1 * var(--tile-image-offset) * 2 );
	max-width: calc(100% - var(--tile-image-offset) * 4) !important;
}

.propcycle-banner__tile-image--pos-top-right.propcycle-banner__tile-image {
	--tile-image-shift-x: var(--tile-image-offset);
	--tile-image-shift-y: calc( -1 * var(--tile-image-offset) );
	margin-left: auto;
	margin-bottom: auto;
}

.propcycle-banner__tile-image--pos-right.propcycle-banner__tile-image {
	--tile-image-shift-x: var(--tile-image-offset);
	max-height: calc(100% - var(--tile-image-offset) * 4) !important;
	margin-left: auto;
	align-self: center;
}

.propcycle-banner__tile-image--pos-bottom-right.propcycle-banner__tile-image {
	--tile-image-shift-x: var(--tile-image-offset);
	--tile-image-shift-y: var(--tile-image-offset);
	margin-left: auto;
	align-self: end;
}

.propcycle-banner__tile-image--pos-bottom.propcycle-banner__tile-image {
	--tile-image-shift-y: calc(var(--tile-image-offset) * 2);
	max-width: calc(100% - var(--tile-image-offset) * 4) !important;
	align-self: flex-end;
}

.propcycle-banner__tile-image--pos-bottom-left.propcycle-banner__tile-image {
	--tile-image-shift-x: calc( -1 * var(--tile-image-offset) );
	--tile-image-shift-y: var(--tile-image-offset);
	align-self: flex-end;
	margin-right: auto;
}

.propcycle-banner__tile-image--pos-left.propcycle-banner__tile-image {
	--tile-image-shift-x: calc( -1 * var(--tile-image-offset) );
	max-height: calc(100% - var(--tile-image-offset) * 4) !important;
	align-self: center;
	margin-right: auto;
	width: auto;
}

.propcycle-banner__tile-image-wrapper--square .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--shortest .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--short .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--medium .propcycle-banner__tile-image,
.propcycle-banner__tile-image-wrapper--large .propcycle-banner__tile-image {
	height: 100%;
	object-fit: cover;
}

.propcycle-banner__tile-image-wrapper--square .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--shortest .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--short .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--medium .propcycle-banner__tile-image--with-background,
.propcycle-banner__tile-image-wrapper--large .propcycle-banner__tile-image--with-background {
	max-height: calc( 100% - var(--tile-image-offset) );
	height: auto;
	width: auto;
	object-fit:unset;
}

.propcycle-banner__tile-image--pos-center {
	margin: auto;
    max-width: calc(100% - (var(--tile-image-offset) * 6)) !important;
}


.propcycle-banner__tile-icon-circle {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	margin: 0 auto 0;
	border-radius: 999px;
	background: var(--tile-accent-color, var(--color-primary, blue));
	color: white;
}

.propcycle-banner__tile-icon-circle--size-small  { width: 32px; height: 32px; }
.propcycle-banner__tile-icon-circle--size-medium { width: 48px; height: 48px; }
.propcycle-banner__tile-icon-circle--size-large  { width: 64px; height: 64px; }
.propcycle-banner__tile-icon-circle--size-xlarge { width: 80px; height: 80px; }

.propcycle-banner__tile-icon-circle--icon-only {
	border-radius: 0;
	background: transparent;
	color: var(--tile-accent-color, var(--color-primary, blue));
}

.propcycle-banner__tile-icon-circle--light-circle {
	background: color-mix(in srgb, var(--tile-accent-color, var(--color-primary, blue)) 10%, transparent);
	/* box-shadow: inset 0 0 0 1px var(--tile-accent-color, var(--color-primary, blue)); */
	color: var(--tile-accent-color, var(--color-primary, blue));
}

.propcycle-banner__tile-icon-circle--white-circle {
	background: white;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
	color: var(--tile-accent-color, var(--color-primary, blue));
}

.propcycle-banner__tile-icon-circle--white-circle-no-shadow {
	background: white;
	box-shadow: none !important;
	color: var(--tile-accent-color, var(--color-primary, blue));
}

.propcycle-banner__tile-icon-circle--tile-number {
	background: var(--tile-accent-color, var(--color-primary, blue));
	color: white;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1.25rem;
}

.propcycle-banner__tile-icon-number {
	display: block;
	line-height: 1;
	font-weight: bold;
	font-size: 1.5rem
}

.propcycle-banner__tile-icon-circle--size-small .propcycle-banner__tile-icon-number  { font-size: 1.5rem }
.propcycle-banner__tile-icon-circle--size-medium .propcycle-banner__tile-icon-number { font-size: 1.75rem }
.propcycle-banner__tile-icon-circle--size-large .propcycle-banner__tile-icon-number  { font-size: 2rem }
.propcycle-banner__tile-icon-circle--size-xlarge .propcycle-banner__tile-icon-number { font-size: 3rem }

.propcycle-banner__tile-icon-circle--colored-circle {
	margin-bottom: 0.75rem;
}
.propcycle-banner__tile-icon-circle > div {
	display: contents;
}
.propcycle-banner__tile-icon-circle svg {
	width: 60%;
	height: 60%;
	min-width: 18px;
	min-height: 18px;
	display: block;
	color: inherit;
	/* margin-bottom: 0.25em; */
}

.propcycle-banner__tile-icon-circle--icon-only svg {
	width: 100%;
	height: auto;
}

.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-icon-circle--light-circle {
	background: white;
	box-shadow: 0 4px 6px rgba(0,0,0,0.2), inset 0 0 0 1px var(--tile-accent-color, var(--color-primary, blue));
	color: var(--tile-accent-color, var(--color-primary, blue));
}

.propcycle-banner__tile-icon-circle svg [fill]:not([fill='none']) {
	fill: currentColor;
}

.propcycle-banner__tile-icon-circle svg [stroke]:not([stroke='none']) {
	stroke: currentColor;
}

.propcycle-banner__tile-icon-circle-image {
	width: 60%;
	height: 60%;
	object-fit: contain;
	display: block;
}

.propcycle-banner__tile-icon-circle--inline {
	position: static;
	flex-shrink: 0;
	margin: 0;
	align-self: flex-start;
}

.propcycle-banner__tile-icon-circle--inline:not(.propcycle-banner__tile-icon-circle--icon-only) svg {
	width: 60%;
	height: 60%;
}

.propcycle-banner__tile-icon-circle--editable {
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	appearance: none;
	cursor: pointer;
}

.propcycle-banner__tile-icon-circle--editable svg {
	fill: none;
	stroke: currentColor;
	max-width: 100%;
	max-height: 100%;
}

.propcycle-banner__tile-icon-placeholder {
	font-size: 0.625rem;
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	text-align: center;
	padding: 0 0.25rem;
	color: var(--color-heading);
	border: 3px solid;
	height: 100%;
	display: flex;
	align-content: center;
	justify-content: center;
	flex-wrap: wrap;
	border-radius: 8px;
	opacity: 0.2;
	text-shadow: 1px 1px 0px white, -1px -1px 0px white, 1px -1px 0px white, -1px 1px 0px white;
	box-shadow: 1px 1px 0px white, -1px 1px 0px white, 1px -1px 0px white, -1px -1px 0px white;
}

.propcycle-banner__tile-icon-heading {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.propcycle-banner__tile-icon-circle--overlap {
	position: absolute;
	bottom: 100%;
	right: 20px;
	margin: 0;
	z-index: 10;
	transform: translate(0, 50%);
}
.propcycle-banner__tile-icon-circle--overlap:not(.propcycle-banner__tile-icon-circle--white-circle-no-shadow) + * {
	margin-top: 1.25rem !important
}
.propcycle-banner__tile-body--align-left .propcycle-banner__tile-icon-circle--overlap {
	right: unset;
	transform: translate(-1em, 50%);
}
.propcycle-banner__tile-body--align-center .propcycle-banner__tile-icon-circle--overlap {
	right: 50%;
	left: 50%;
	transform: translate(-50%, 50%);
}

.propcycle-banner__tile.propcycle-banner__tile--version-1 .propcycle-banner__tile-icon-circle--inline,
.propcycle-banner__tile.propcycle-banner__tile--version-1 .propcycle-banner__tile-icon-circle--overlap {
	display: flex;
	align-items: center;
	justify-content: center;
}

.propcycle-banner__tile.propcycle-banner__tile--version-1 .propcycle-banner__tile-body {
	position: relative;
	/* padding-top: 0; */
}

.propcycle-banner__tile.propcycle-banner__tile--version-1.propcycle-banner__tile--has-icon .propcycle-banner__tile-icon-circle--inline ~ .propcycle-banner__tile-heading {
	padding-left: 0;
}

.propcycle-banner__tile.propcycle-banner__tile--version-1.propcycle-banner__tile--has-icon .propcycle-banner__tile-icon-circle--overlap ~ .propcycle-banner__tile-heading {
	/* padding-top: 30px; */
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content {
	position: relative;
	padding-left: calc(var(--propcycle-inline-icon-padding, 86px) + 2.125rem);
}
.propcycle-banner__tile.propcycle-banner__tile--version-2 .propcycle-banner__tile-body--icon-inline-content {
	position: relative;
	padding-left: calc(var(--propcycle-inline-icon-padding, 86px) * 1.25);
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-small) {
	--propcycle-inline-icon-padding: 32px;
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-medium) {
	--propcycle-inline-icon-padding: 48px;
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-large) {
	--propcycle-inline-icon-padding: 64px;
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content:has(.propcycle-banner__tile-icon-circle--size-xlarge) {
	--propcycle-inline-icon-padding: 80px;
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-icon-circle {
	position: absolute;
	transform: translate(-100%, -10%);
	margin: 0 0 0 calc(var(--propcycle-inline-icon-padding, 86px) * -1 * 0.25);
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-icon-circle:is(:nth-last-child(2)) {
	top: 50%;
	transform: translate(-100%, -50%);
}

.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-heading,
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-description,
.propcycle-banner__tile .propcycle-banner__tile-body--icon-inline-content .propcycle-banner__tile-cta {
	margin-left: 0;
}

.propcycle-banner__tile-image {
	width: 100%;
	height: auto;
	object-fit: contain;
	display: block;
}

.propcycle-banner__tile-image--placeholder {
	/* min-height: 180px; */
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #eef3f8 0%, #f8fbff 100%);
	color: #5f6f82;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.01em;
	text-transform: uppercase;
	border: 1px dashed #b8c6d6;
	padding: 1rem;
	box-sizing: border-box;
	text-align: center;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-image-wrapper--editable {
	position: relative;
	transition: opacity 0.15s ease;
	width: 100%;
}

.editor-styles-wrapper .wp-block-propcycle-banner .propcycle-banner__tile-image-wrapper--editable:hover::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(19, 127, 216, 0.12);
	border: 2px solid rgba(19, 127, 216, 0.5);
	border-radius: 0.35rem;
	pointer-events: none;
}

.propcycle-banner__tile-heading {
	margin-top: 0;
	margin-bottom: 0.75rem;
	font-size: 1.125rem;
	font-weight: 600;
	color: #000;
}

.propcycle-banner__tile-heading--small {
	font-size: 1.25rem;
}

.propcycle-banner__tile-heading--medium {
	font-size: 1.5rem;
}

.propcycle-banner__tile-heading--large {
	font-size: 1.75rem;
}

.propcycle-banner__tile-description {
	margin-bottom: 1rem;
	color: var(--color-text);
	font-size: 1rem;
	line-height: 1.5;
	flex-grow: 1;
}

.propcycle-banner__tile-description--small {
	font-size: 0.875rem;
	line-height: 1.45;
}

.propcycle-banner__tile-description--medium {
	font-size: 1rem;
	line-height: 1.5;
}

.propcycle-banner__tile-description--large {
	font-size: 1.125rem;
	line-height: 1.6;
}

.propcycle-banner__tile-cta {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--color-text);
	text-decoration: none;
	font-weight: 700;
	align-self: flex-start;
	/* transition: all .2s ease; */
	font-size: 0.8125rem;
	text-transform: uppercase;
	margin-top: 0.2rem;
}

.propcycle-banner__tile-cta--editor {
	position: relative;
	align-items: center;
	gap: 0.35rem;
}

.propcycle-banner__tile-cta--editor .components-button {
	padding: 0;
	min-height: 0;
	height: auto;
	box-shadow: none;
	background: transparent;
	border: 0;
	color: inherit;
	position: absolute;
	left: 100%;
	opacity: 0
}

.propcycle-banner__tile-cta--editor .components-button:hover {
	background: transparent;
	color: inherit;
}

.propcycle-banner__tile-cta--editor:hover .components-button {
	opacity: 1
}

.propcycle-banner__tile-cta svg {
	color: var(--tile-accent-color, var(--color-primary));
	transition: transform .2s ease;
}
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-cta, 
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-cta svg{
	color: white;
}

.propcycle-banner__tile-cta:hover svg {
	color: var(--tile-accent-color, var(--color-primary-hover));
	transform: translateX(4px);
}

.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-cta:hover {
	color: white;
}

.propcycle-banner__tile-cta-chevron {
	display: inline-flex;
	align-items: center;
	line-height: 1;
	font-size: 1.5em;
}

.propcycle-banner__tile--version-2 .propcycle-banner__tile-cta {
	/* align-self: center; */
}

.propcycle-banner__tile--version-1 .propcycle-banner__tile-heading,
.propcycle-banner__tile--version-1 .propcycle-banner__tile-description,
.propcycle-banner__tile--version-3 .propcycle-banner__tile-heading,
.propcycle-banner__tile--version-3 .propcycle-banner__tile-description {
	/* text-align: left; */
	color: var(--color-heading);
}

.propcycle-banner__tile--version-2 .propcycle-banner__tile-heading,
.propcycle-banner__tile--version-2 .propcycle-banner__tile-description {
	/* text-align: center; */
	color: inherit;
}

.propcycle-banner__tile-heading {
	/* font-size: 1.5rem; */
	font-weight: 700;
	margin: 0;
	line-height: 1.2;
}
.propcycle-banner__tile-body:not(.propcycle-banner__tile-body--icon-inline-content) .propcycle-banner__tile-icon-circle:not(.propcycle-banner__tile-icon-circle--inline) + .propcycle-banner__tile-heading {
	margin-top: 0.5rem;	
}

.propcycle-banner__tile--version-1 .propcycle-banner__tile-description,
.propcycle-banner__tile--version-3 .propcycle-banner__tile-description {
	margin: 0;
	color: var(--color-text);
}

.propcycle-banner__tile--version-2 .propcycle-banner__tile-heading {
	/* font-size: 1.125rem; */
	/* font-weight: 600; */
	/* margin: 0; */
	color: var(--color-heading);
}

.propcycle-banner__tile--version-2 .propcycle-banner__tile-description {
	margin: 0;
	color: var(--color-text);
}


.is-text-light .propcycle-banner__tile--version-2 {

}

.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-heading,
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-description,
.is-text-light .propcycle-banner__tile--version-2 .propcycle-banner__tile-icon-circle--icon-only {
	color: white;
}

.wp-block-propcycle-banner .swiper {
	overflow: visible
}
