/* ==========================================================================
   G5 Registry Reminder Popup — Luxury Door-Swing Style
   Brand palette only: #FAFCFD #F1F6F9 #137A7F #243C3C #E5B842
   ========================================================================== */

:root {
	--g5-canvas: #FAFCFD;
	--g5-surface: #F1F6F9;
	--g5-accent: #137A7F;
	--g5-accent-hover: #0D5C60;
	--g5-text: #243C3C;
	--g5-gold: #E5B842;
}

/* Overlay */
.g5-registry-overlay {
	position: fixed;
	inset: 0;
	background: rgba(36, 60, 60, 0.55);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.45s ease;
	z-index: 99998;
}
.g5-registry-overlay.is-visible {
	opacity: 1;
	visibility: visible;
}

/* Popup panel */
.g5-registry-popup {
	position: fixed;
	top: 50%;
	right: 32px;
	width: 380px;
	max-width: 90vw;
	background: var(--g5-canvas);
	border-radius: 18px;
	box-shadow: 0 24px 60px rgba(36, 60, 60, 0.28);
	padding: 40px 32px 32px;
	text-align: center;
	z-index: 99999;
	visibility: hidden;

	/* Door-swing entrance */
	transform-origin: right center;
	perspective: 1200px;
	transform: translate(0, -50%) rotateY(90deg) scale(0.92);
	opacity: 0;
	transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1),
		opacity 0.45s ease,
		visibility 0.65s;
}
.g5-registry-popup.is-visible {
	visibility: visible;
	transform: translate(0, -50%) rotateY(0deg) scale(1);
	opacity: 1;
}

/* Close (X) button */
.g5-registry-close {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--g5-surface);
	border: none;
	border-radius: 50%;
	color: var(--g5-text);
	cursor: pointer;
	transition: background 0.25s ease, transform 0.25s ease;
}
.g5-registry-close:hover {
	background: var(--g5-gold);
	transform: rotate(90deg);
}

/* Icon */
.g5-registry-icon {
	width: 68px;
	height: 68px;
	margin: 0 auto 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--g5-surface);
	color: var(--g5-accent);
}

/* Text */
.g5-registry-title {
	font-size: 21px;
	font-weight: 600;
	letter-spacing: 0.2px;
	color: var(--g5-text);
	margin: 0 0 10px;
}
.g5-registry-text {
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--g5-text);
	opacity: 0.75;
	margin: 0 0 26px;
}

/* CTA button — 44px min touch target */
.g5-registry-cta {
	display: block;
	width: 100%;
	min-height: 48px;
	line-height: 48px;
	background: var(--g5-accent);
	color: var(--g5-canvas);
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	border-radius: 12px;
	letter-spacing: 0.3px;
	transition: background 0.25s ease, transform 0.2s ease;
}
.g5-registry-cta:hover {
	background: var(--g5-accent-hover);
	transform: translateY(-1px);
	color: var(--g5-canvas);
}

/* Dismiss link */
.g5-registry-dismiss {
	display: block;
	width: 100%;
	margin-top: 14px;
	background: none;
	border: none;
	font-size: 13px;
	color: var(--g5-text);
	opacity: 0.55;
	cursor: pointer;
	padding: 6px;
}
.g5-registry-dismiss:hover {
	opacity: 0.85;
	text-decoration: underline;
}

/* ==========================================================================
   Mobile (95% of traffic) — becomes a bottom-anchored slide-in card
   ========================================================================== */
@media (max-width: 600px) {
	.g5-registry-popup {
		top: auto;
		bottom: 16px;
		right: 16px;
		left: 16px;
		width: auto;
		max-width: none;
		padding: 32px 24px 26px;
		transform: translateY(0) rotateY(90deg) scale(0.94);
		transform-origin: right center;
	}
	.g5-registry-popup.is-visible {
		transform: translateY(0) rotateY(0deg) scale(1);
	}
}