.anniv-wrapper{
	max-width: 980px;
	margin: 48px auto;
	padding: 28px;
	background: radial-gradient(1000px 600px at 50% -10%, rgba(217,209,3,0.12), transparent 70%), linear-gradient(180deg, #0b0b0b 0%, #0a0a0a 100%);
	color: #ffffff;
	border: 1px solid rgba(217,209,3,0.35);
	border-radius: 16px;
	backdrop-filter: blur(6px);
	box-shadow: 0 10px 40px rgba(0,0,0,0.45), inset 0 0 0 1px rgba(255,255,255,0.02);
	box-sizing: border-box;
	width: 100%;
}
@media (max-width: 640px){
	.anniv-wrapper{
		margin: 16px auto;
		padding: 16px;
		border-radius: 12px;
		max-width: calc(100vw - 32px);
	}
}
.anniv-wrapper h2{ 
	color: var(--primary, #D9D103); 
	margin-top: 0; 
	letter-spacing: 0.3px;
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-align: center;
}
.anniv-link{ color: var(--primary, #D9D103); }

.anniv-qr{ display: flex; align-items: center; justify-content: center; margin: 20px 0; width: 100%; box-sizing: border-box; }
.anniv-qr img{ 
	max-width: 100%;
	width: 240px; 
	height: auto;
	aspect-ratio: 1 / 1;
	border: 6px solid #000; 
	box-shadow: 0 8px 30px rgba(0,0,0,0.5), 0 0 28px rgba(217,209,3,0.25); 
	background: #fff; 
	border-radius: 12px; 
}
@media (max-width: 640px){
	.anniv-qr img{
		width: min(240px, calc(100vw - 80px));
		border-width: 4px;
	}
}

.anniv-step{
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}
.anniv-step button{
	background: linear-gradient(180deg, var(--primary, #D9D103), #b9b205);
	color: #000;
	border: none;
	padding: 12px 22px;
	border-radius: 10px;
	font-weight: 800;
	cursor: pointer;
	margin-right: 10px;
	margin-top: 8px;
	box-shadow: 0 6px 20px rgba(217,209,3,0.25);
	transition: transform .06s ease, box-shadow .2s ease, opacity .2s ease;
	box-sizing: border-box;
}
@media (max-width: 640px){
	.anniv-step button{
		padding: 10px 18px;
		font-size: 14px;
		margin-right: 8px;
		width: auto;
		display: inline-block;
	}
}
.anniv-step button.ghost{ background: transparent; color: var(--primary, #D9D103); border: 1px solid var(--primary, #D9D103); }
.anniv-step .anniv-prev{
	display: block;
	margin-left: 0;
	margin-right: auto;
	margin-top: 12px;
	width: fit-content;
}
.anniv-step button:hover{ transform: translateY(-1px); box-shadow: 0 10px 28px rgba(217,209,3,0.30); }
.anniv-step button.anniv-disabled{ opacity: .55; cursor: not-allowed; filter: grayscale(0.2); }

.anniv-form{ width: 100%; box-sizing: border-box; }
.anniv-form label{ display: block; font-weight: 600; color: #ddd; width: 100%; box-sizing: border-box; }
.anniv-form input{ 
	width: 100%; 
	max-width: 100%;
	box-sizing: border-box;
	padding: 12px 14px; 
	border-radius: 10px; 
	border: 1px solid #2a2a2a; 
	background: #0f0f0f; 
	color: #fff; 
	margin-top: 6px; 
	box-shadow: inset 0 0 0 1px #000;
	word-wrap: break-word;
	overflow-wrap: break-word;
}
.anniv-row{ 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 16px; 
	margin-bottom: 16px;
	width: 100%;
	box-sizing: border-box;
}
@media (max-width: 640px){ 
	.anniv-row{ 
		grid-template-columns: 1fr; 
		gap: 12px;
	}
	.anniv-form input{
		padding: 10px 12px;
		font-size: 16px; /* Prevents zoom on iOS */
	}
}

.anniv-wheel-container{ position: relative; display: flex; flex-direction: column; align-items: center; gap: 14px; padding: 12px; border-radius: 16px; background: radial-gradient(700px 300px at 50% 0%, rgba(217,209,3,0.08), rgba(0,0,0,0) 70%); box-shadow: inset 0 0 0 1px rgba(255,255,255,0.03); }
#anniv-wheel{ 
	max-width: 100%;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	max-width: 700px;
	max-height: 700px;
	background: radial-gradient(circle at 50% 50%, #1a0f00 0%, #0a0702 70%); 
	border-radius: 50%; 
	border: 4px solid #3d1f00; 
	box-shadow: 0 10px 40px rgba(0,0,0,0.7), 0 0 28px rgba(254,204,0,0.25) inset; 
}
@media (max-width: 640px){
	.anniv-wheel-container{ padding: 8px; }
	#anniv-wheel{ 
		max-width: calc(100vw - 48px);
		max-height: calc(100vw - 48px);
		border-width: 3px;
	}
}
.anniv-spin-btn{ margin-top: 16px; }

.anniv-modal{ position: fixed; left:0; top:0; right:0; bottom:0; background: rgba(0,0,0,0.6); display:flex; align-items:center; justify-content:center; z-index: 9999; }
.anniv-modal-content{ width: min(520px, 90%); background: linear-gradient(180deg, #0f0f0f, #0a0a0a); color: #fff; border-radius: 14px; padding: 22px; border: 1px solid rgba(217,209,3,0.35); text-align: center; box-shadow: 0 10px 40px rgba(0,0,0,0.55), inset 0 0 0 1px rgba(255,255,255,0.02); }
.anniv-modal-title{ color: var(--primary, #D9D103); margin-top: 0; }
.anniv-step[data-step="3"] p{ opacity: .9; }
.anniv-prize-wrap{ display:flex; flex-direction: column; align-items: center; gap: 12px; }
.anniv-prize-wrap img{ max-width: 180px; max-height: 180px; border-radius: 10px; border: 3px solid #000; box-shadow: 0 14px 32px rgba(0,0,0,0.5), 0 0 18px rgba(217,209,3,0.25); background: #fff; }
.anniv-prize-name{ font-size: 20px; font-weight: 800; color: var(--primary, #D9D103); }
.anniv-modal .anniv-close{ margin-top: 10px; }

/* Confetti */
.anniv-confetti{
	position: fixed; top:-10px; width:10px; height:14px; z-index: 99999; opacity: 0.9;
	animation: drop 2.3s ease-in forwards;
}
@keyframes drop{ to { transform: translateY(105vh) rotate(720deg); opacity: 1; } }


