/**
 * LoveDate Photo Privacy — front-end (loaded only when gallery is locked for viewer).
 */

/*
 * teaser: server JPEG (guest / PMPro blur, password Standard) or gray SVG fallback — uploads/ld-pp-teasers/.
 * pattern: password + Enhanced — fixed SVG card.
 */
body.ld-pp-gallery-locked .jws_gallery_mediapress {
	gap: 14px;
}

body.ld-pp-gallery-locked .jws_gallery_mediapress .jws_gallery_item {
	position: relative;
	overflow: hidden;
}

/* Server teaser + optional gray-SVG fallback (same body class) */
body.ld-pp-lock-preview-teaser .jws_gallery_mediapress .jws_gallery_item {
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 6px 20px rgba(25, 18, 80, 0.12);
}

body.ld-pp-lock-preview-teaser .jws_gallery_mediapress .jws_gallery_item img[src*="ld-pp-teasers"] {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: top;
	object-fit: cover;
	filter: blur(10px) saturate(1.05);
	transform: scale(1.04) translateZ(0);
	transform-origin: center center;
}

body.ld-pp-lock-preview-teaser .jws_gallery_mediapress .jws_gallery_item img[src*="locked-placeholder"] {
	display: block;
	width: 100%;
	height: auto;
	filter: blur(28px) brightness(0.9);
	transform: scale(1.1) translateZ(0);
	transform-origin: center center;
}

body.ld-pp-lock-preview-teaser .jws_gallery_mediapress .jws_gallery_item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(25, 18, 80, 0.14);
	pointer-events: none;
	z-index: 1;
}

body.ld-pp-lock-preview-pattern .jws_gallery_mediapress .jws_gallery_item {
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.14);
	box-shadow:
		0 12px 36px rgba(20, 10, 36, 0.28),
		0 1px 0 rgba(255, 255, 255, 0.06) inset;
}

body.ld-pp-lock-preview-pattern .jws_gallery_mediapress .jws_gallery_item img[src*="locked-preview-pattern"] {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: top;
	object-fit: cover;
	filter: saturate(1.08) contrast(1.03);
	transform: translateZ(0);
}

body.ld-pp-lock-preview-pattern .jws_gallery_mediapress .jws_gallery_item::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(165deg,
			rgba(255, 255, 255, 0.1) 0%,
			rgba(20, 10, 36, 0.08) 38%,
			rgba(10, 5, 22, 0.45) 100%);
	pointer-events: none;
	z-index: 1;
}

body.ld-pp-gallery-locked .jws_gallery_mediapress .jws_gallery_item a.jws-popup-global {
	pointer-events: none;
	cursor: default;
}

.ld-pp-profile-notice {
	margin: 1.25em 0 1.75em;
	padding: 1em 1.25em;
	border-radius: 10px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: rgba(0, 0, 0, 0.02);
}

.ld-pp-notice-text {
	margin: 0 0 0.75em;
}

.ld-pp-profile-notice .ld-pp-unlock-form {
	display: block;
	margin: 0.5em 0 0;
}

.ld-pp-profile-notice a.elementor-button {
	margin-top: 10px;
}

.ld-pp-settings .ld-pp-privacy-form {
	max-width: 520px;
}

.ld-pp-input-text,
.ld-pp-settings .ld-pp-input-text,
.ld-pp-settings select.ld-pp-select {
	min-height: 44px;
	padding: 0.55em 1em;
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	width: 100%;
	max-width: 360px;
	box-sizing: border-box;
	font-size: 1em;
	line-height: 1.4;
}

.ld-pp-settings select.ld-pp-select {
	max-width: 420px;
}

.ld-pp-password-fields {
	margin-top: 1em;
}