/* Group
--------------------------------------------- */

/* Parallax Background */
.wp-block-group[class*="is-style-parallax-"] {
	overflow-y: visible;
	padding-bottom: var(--wp--preset--spacing--80) !important;
	padding-top: var(--wp--preset--spacing--80) !important;
	position: relative;
	z-index: 0;
}

.wp-block-group[class*="is-style-parallax-"]::before,
.wp-block-group[class*="is-style-parallax-"]::after {
	background-repeat: no-repeat;
	content: "";
	inset: 0;
	opacity: 0.5;
	pointer-events: none;
	position: absolute;
	z-index: -1;
}

@media screen and (max-width: 960px) {
	.wp-block-group[class*="is-style-parallax-"]::before,
	.wp-block-group[class*="is-style-parallax-"]::after {
		opacity: 0.25;
	}
}

.wp-block-group.is-style-parallax-tangerine::before,
.wp-block-group.is-style-parallax-silver::before {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-left-tangerine.svg");
	background-position: center left -13px;
	background-size: 106px auto;
}

.wp-block-group.is-style-parallax-silver::before {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-left-silver.svg");
}

.wp-block-group.is-style-parallax-tangerine::after,
.wp-block-group.is-style-parallax-silver::after {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-right-tangerine.svg");
	background-position: bottom right -97px;
	background-size: 288px auto;
}

.wp-block-group.is-style-parallax-silver::after {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-right-silver.svg");
}

.wp-block-group.is-style-parallax-malibu::before {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-left-malibu.svg");
	background-position: center left -65px;
	background-size: 120px auto;
}

.wp-block-group.is-style-parallax-malibu::after {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-right-malibu.svg");
	background-position: bottom -150px right -47px;
	background-size: 224px auto;
}

.wp-block-group.is-style-parallax-shocking::before {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-left-shocking.svg");
	background-position: center left -60px;
	background-size: 120px auto;
}

.wp-block-group.is-style-parallax-shocking::after {
	background-image: url("/wp-content/client-mu-plugins/gtt-blocks/assets/svg/parallax-bg/parallax-bg-right-shocking.svg");
	background-position: center right -65px;
	background-size: 224px auto;
}

@supports (animation-timeline: scroll()) {
	.wp-block-group.is-style-parallax-tangerine:not(
			.block-editor-block-list__block
		)::before,
	.wp-block-group.is-style-parallax-silver:not(.block-editor-block-list__block)::before,
	.wp-block-group.is-style-parallax-malibu:not(.block-editor-block-list__block)::before,
	.wp-block-group.is-style-parallax-shocking:not(
			.block-editor-block-list__block
		)::before {
		animation: parallaxSlow ease-out both;
		animation-range: cover;
		animation-timeline: scroll(root);
	}

	.wp-block-group.is-style-parallax-tangerine:not(.block-editor-block-list__block)::after,
	.wp-block-group.is-style-parallax-silver:not(.block-editor-block-list__block)::after,
	.wp-block-group.is-style-parallax-malibu:not(.block-editor-block-list__block)::after,
	.wp-block-group.is-style-parallax-shocking:not(.block-editor-block-list__block)::after {
		animation: parallaxFast ease-out both;
		animation-range: cover;
		animation-timeline: scroll(root);
	}

	@keyframes parallaxSlow {
		from {
			transform: translateY(-25%);
		}
		to {
			transform: translateY(25%);
		}
	}

	@keyframes parallaxFast {
		from {
			transform: translateY(-35%);
		}
		to {
			transform: translateY(35%);
		}
	}
}

.wp-block-group.is-style-poly-mesh-bg {
	overflow: hidden;
	position: relative;
}

.wp-block-group.is-style-poly-mesh-bg > *:not(.wp-block-gtt-poly-mesh) {
	position: relative;
	z-index: 5;
}

.wp-block-group.is-style-poly-mesh-bg > .wp-block-gtt-poly-mesh {
	left: 0;
	position: absolute;
	right: 0;
}

@media screen and (max-width: 600px) {
	.wp-block-group.is-position-sticky {
		position: static;
	}
}

.wp-block-group.is-sticky-page-nav .wp-block-navigation {
	row-gap: var(--wp--preset--spacing--12);
}

/* Rounded, semi-transparent overlay surface. */
.wp-block-group.is-style-halo-surface {
	backdrop-filter: blur(var(--wp--custom--blur--surface));
	background-color: var(--wp--preset--color--deep-purple-10-trn);
	border-radius: 24px;
}

/* Gradient hairline border, for translucent halo panels where a solid border
reads too flat. Drawn as a masked pseudo-element so the panel keeps its own
(semi-transparent) background. */
.wp-block-group.is-style-halo-gradient-border {
	position: relative;
}

.wp-block-group.is-style-halo-gradient-border::after {
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	background: linear-gradient(155deg, var(--wp--preset--color--emerald) 10%, var(--wp--preset--color--malibu) 60%, var(--wp--preset--color--electric-violet) 100%);
	border-radius: inherit;
	content: "";
	inset: 0;
	mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	mask-composite: exclude;
	padding: 1px;
	pointer-events: none;
	position: absolute;
}

/* Statistics grid: WP's fixed-columnCount grid layout has no built-in
responsive fallback (unlike the auto-fill/minimumColumnWidth grid variant), so
the 3-up card grid needs an explicit collapse to one column on phones. */
@media screen and (max-width: 600px) {
	.wp-block-group.gtt-halo-stats-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}
