/*
 * Titan Amino — Added-to-cart confirmation modal (v1.8.0).
 *
 * Self-contained. Loaded site-wide on every frontend page where add-to-cart
 * can fire, except /cart/ and /checkout/ where the modal is redundant.
 */

body.titanamino-atc-open { overflow: hidden; }

.titanamino-atc-overlay {
	position: fixed;
	inset: 0;
	background: rgba(5, 0, 16, 0.82);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
	z-index: 2147483647;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	animation: titanaminoAtcFadeIn 240ms ease-out;
	font-family: 'Inter', system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
}
.titanamino-atc-overlay.is-closing { animation: titanaminoAtcFadeOut 240ms ease-in forwards; }
.titanamino-atc-overlay *, .titanamino-atc-overlay *::before, .titanamino-atc-overlay *::after { box-sizing: border-box; }

.titanamino-atc-modal {
	position: relative;
	background: linear-gradient(160deg, #0B1232 0%, #02030C 100%);
	border: 1px solid rgba(0, 212, 255, 0.42);
	border-radius: 24px;
	padding: 2.5rem 2rem 1.75rem;
	max-width: 460px;
	width: 100%;
	text-align: center;
	color: #FFFFFF;
	box-shadow: 0 40px 100px rgba(110, 38, 255, 0.5);
	animation: titanaminoAtcSlideIn 320ms cubic-bezier(0.16, 1, 0.3, 1);
}
.titanamino-atc-overlay.is-closing .titanamino-atc-modal { animation: titanaminoAtcSlideOut 240ms ease-in forwards; }

.titanamino-atc-close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 38px;
	height: 38px;
	border: none;
	background: transparent;
	color: #9DB0E8;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	border-radius: 50%;
	transition: all 200ms ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}
.titanamino-atc-close:hover {
	background: rgba(255, 255, 255, 0.08);
	color: #00D4FF;
}
.titanamino-atc-close:focus-visible {
	outline: 2px solid #00D4FF;
	outline-offset: 2px;
}

.titanamino-atc-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 70px;
	height: 70px;
	border-radius: 50%;
	background: linear-gradient(135deg, #6E26FF 0%, #3B6CFF 50%, #C026D3 100%);
	color: #FFFFFF;
	margin: 0 auto 1rem;
	box-shadow: 0 20px 50px rgba(110, 38, 255, 0.5);
}

.titanamino-atc-title {
	font-family: 'Space Grotesk', system-ui, sans-serif;
	font-size: 1.375rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #00D4FF;
	margin: 0 0 0.5rem;
	line-height: 1.2;
}
.titanamino-atc-subtitle {
	color: #DCE6FF;
	font-size: 0.9375rem;
	line-height: 1.5;
	margin: 0 0 1.5rem;
	word-wrap: break-word;
}
.titanamino-atc-subtitle strong {
	color: #FFFFFF;
	font-weight: 700;
}

.titanamino-atc-actions {
	display: flex;
	gap: 10px;
	flex-direction: column;
}
@media (min-width: 480px) {
	.titanamino-atc-actions { flex-direction: row; }
}

.titanamino-atc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	padding: 14px 22px;
	font-family: 'Space Grotesk', system-ui, sans-serif;
	font-size: 0.6875rem;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.16em;
	border-radius: 9999px;
	border: 1px solid transparent;
	cursor: pointer;
	text-decoration: none;
	transition: all 240ms ease;
	line-height: 1.2;
	white-space: nowrap;
}
.titanamino-atc-btn--primary {
	background: linear-gradient(135deg, #C026D3 0%, #E445D6 50%, #00D4FF 100%);
	color: #02030C !important;
	box-shadow: 0 14px 40px rgba(192, 38, 211, 0.5);
}
.titanamino-atc-btn--primary:hover,
.titanamino-atc-btn--primary:focus-visible {
	transform: translateY(-1px);
	box-shadow: 0 18px 50px rgba(192, 38, 211, 0.65);
	color: #02030C !important;
}
.titanamino-atc-btn--ghost {
	background: transparent;
	color: #9DB0E8;
	border-color: rgba(0, 212, 255, 0.22);
}
.titanamino-atc-btn--ghost:hover,
.titanamino-atc-btn--ghost:focus-visible {
	color: #00D4FF;
	border-color: rgba(0, 212, 255, 0.5);
	background: rgba(0, 212, 255, 0.04);
}
.titanamino-atc-btn:focus-visible {
	outline: 2px solid #00D4FF;
	outline-offset: 3px;
}

@keyframes titanaminoAtcFadeIn { from { opacity: 0; } to { opacity: 1; } }
@keyframes titanaminoAtcFadeOut { from { opacity: 1; } to { opacity: 0; } }
@keyframes titanaminoAtcSlideIn {
	from { opacity: 0; transform: translateY(20px) scale(0.94); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes titanaminoAtcSlideOut {
	from { opacity: 1; transform: translateY(0) scale(1); }
	to   { opacity: 0; transform: translateY(10px) scale(0.96); }
}

@media (prefers-reduced-motion: reduce) {
	.titanamino-atc-overlay,
	.titanamino-atc-overlay.is-closing,
	.titanamino-atc-modal,
	.titanamino-atc-overlay.is-closing .titanamino-atc-modal {
		animation: none !important;
	}
}
