/* Phase 2 — Multi-layer overlay stack */

.sc361-card__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
}

.sc361-visual-engine--layers .sc361-card__layers,
.sc361-visual-engine .sc361-card__layers {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
}

.sc361-card__layer {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.sc361-visual-engine .sc361-card__layer--gradient,
.sc361-visual-engine--layers .sc361-card__layer--gradient {
	opacity: var(--sc361-l1-opacity, 0.85);
	background: linear-gradient(
		to top,
		var(--sc361-l1-c1, #000) 0%,
		var(--sc361-l1-c2, transparent) var(--sc361-l1-size, 100%)
	);
}

.sc361-gradient-type--radial.sc361-visual-engine .sc361-card__layer--gradient {
	background: radial-gradient(
		ellipse at center,
		var(--sc361-l1-c2, transparent) 0%,
		var(--sc361-l1-c1, #000) var(--sc361-l1-size, 100%)
	);
}

.sc361-card__layer--radial {
	opacity: var(--sc361-l2-opacity, 0.3);
	background: radial-gradient(
		circle at 50% 35%,
		var(--sc361-l2-color, rgba(255, 255, 255, 0.15)) 0%,
		transparent var(--sc361-l2-size, 80%)
	);
}

.sc361-card__layer--vignette {
	box-shadow: inset 0 0 calc(90px * var(--sc361-l3-strength, 0.4))
		rgba(0, 0, 0, calc(0.25 + var(--sc361-l3-strength, 0.4) * 0.55));
}

.sc361-card__layer--noise {
	opacity: var(--sc361-l4-opacity, 0.08);
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
	background-size: 180px 180px;
	mix-blend-mode: overlay;
}

.sc361-card__layer--tint {
	opacity: var(--sc361-l5-opacity, 0);
	background: var(--sc361-l5-color, transparent);
	mix-blend-mode: color;
}
