/**
 * U777 Game hero section styles.
 *
 * @package U777_Game
 */

/* Hero Layout
--------------------------------------------- */
.hero {
	position: relative;
	padding: 4rem 0 5rem;
	background: var(--u777-bg);
	overflow: hidden;
}

.hero__inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: center;
	gap: 4rem;
}

/* Hero Content
--------------------------------------------- */
.hero__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
}

.hero__badge {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--u777-primary);
	background: rgba(217, 119, 6, 0.08);
	border: 1px solid rgba(217, 119, 6, 0.15);
	border-radius: 100px;
	letter-spacing: 0.01em;
}

.hero__title {
	margin: 0;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
	color: var(--u777-heading);
}

.hero__description {
	margin: 0;
	max-width: 540px;
	font-size: 1.0625rem;
	line-height: 1.75;
	color: var(--u777-text);
}

/* Statistics
--------------------------------------------- */
.hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem 2rem;
	width: 100%;
}

.hero__stat {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--u777-heading);
}

.hero__stat-icon {
	font-size: 1rem;
	line-height: 1;
}

/* Hero Buttons
--------------------------------------------- */
.hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.btn--hero {
	padding: 1rem 1.75rem;
	font-size: 1rem;
	border-radius: var(--u777-radius-md);
}

.btn--hero.btn--primary {
	min-width: 200px;
}

/* Payment Badges
--------------------------------------------- */
.hero__payments {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.hero__payments-label {
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--u777-text);
}

.hero__payment-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}

.hero__payment-badge {
	padding: 0.5rem 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--u777-heading);
	background: var(--u777-bg);
	border: 1px solid var(--u777-border);
	border-radius: 100px;
	box-shadow: var(--u777-shadow-sm);
}

/* Hero Visual / Mockup
--------------------------------------------- */
.hero__visual {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.hero-mockup {
	position: relative;
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	padding: 2rem 1rem;
}

.hero-mockup__glow {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 320px;
	height: 320px;
	background: radial-gradient(circle, rgba(245, 158, 11, 0.35) 0%, rgba(217, 119, 6, 0.1) 40%, transparent 70%);
	border-radius: 50%;
	transform: translate(-50%, -50%);
	filter: blur(40px);
	pointer-events: none;
	animation: u777-glow-pulse 4s ease-in-out infinite;
}

@keyframes u777-glow-pulse {
	0%,
	100% {
		opacity: 0.7;
		transform: translate(-50%, -50%) scale(1);
	}
	50% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.08);
	}
}

/* Floating Cards
--------------------------------------------- */
.hero-mockup__card {
	position: absolute;
	z-index: 3;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--u777-heading);
	background: var(--u777-bg);
	border: 1px solid var(--u777-border);
	border-radius: var(--u777-radius-sm);
	box-shadow: var(--u777-shadow-md);
	white-space: nowrap;
	animation: u777-float 5s ease-in-out infinite;
}

.hero-mockup__card-icon {
	font-size: 0.875rem;
	line-height: 1;
}

.hero-mockup__card--top-left {
	top: 0;
	left: -1rem;
	animation-delay: 0s;
}

.hero-mockup__card--top-right {
	top: 2rem;
	right: -1.5rem;
	animation-delay: 1.2s;
}

.hero-mockup__card--bottom-left {
	bottom: 3rem;
	left: -2rem;
	animation-delay: 2.4s;
}

.hero-mockup__card--bottom-right {
	bottom: 0;
	right: -1rem;
	animation-delay: 0.6s;
}

@keyframes u777-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

/* Phone Device
--------------------------------------------- */
.hero-mockup__device {
	position: relative;
	z-index: 2;
	animation: u777-device-float 6s ease-in-out infinite;
}

@keyframes u777-device-float {
	0%,
	100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-12px);
	}
}

.hero-mockup__frame {
	position: relative;
	padding: 12px;
	background: linear-gradient(145deg, #1a1a1a 0%, #0a0a0a 100%);
	border-radius: 40px;
	box-shadow:
		0 40px 80px rgba(0, 0, 0, 0.25),
		0 0 0 1px rgba(255, 255, 255, 0.05) inset,
		0 0 60px rgba(245, 158, 11, 0.15);
}

.hero-mockup__notch {
	position: absolute;
	top: 12px;
	left: 50%;
	width: 100px;
	height: 24px;
	background: #0a0a0a;
	border-radius: 0 0 16px 16px;
	transform: translateX(-50%);
	z-index: 2;
}

.hero-mockup__screen {
	position: relative;
	overflow: hidden;
	padding: 2.5rem 1rem 1.25rem;
	background: linear-gradient(180deg, #111111 0%, #1a1510 50%, #0d0d0d 100%);
	border-radius: 30px;
	min-height: 420px;
}

/* Mockup App UI
--------------------------------------------- */
.hero-mockup__status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
	font-size: 0.6875rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.7);
}

.hero-mockup__status-icons {
	display: flex;
	gap: 3px;
}

.hero-mockup__status-icons span {
	display: block;
	width: 4px;
	height: 4px;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
}

.hero-mockup__app-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.25rem;
}

.hero-mockup__app-logo {
	font-family: var(--u777-font-heading);
	font-size: 1.25rem;
	font-weight: 800;
	background: var(--u777-gradient);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}

.hero-mockup__app-balance {
	padding: 0.375rem 0.75rem;
	font-size: 0.6875rem;
	font-weight: 600;
	color: #F59E0B;
	background: rgba(245, 158, 11, 0.12);
	border: 1px solid rgba(245, 158, 11, 0.25);
	border-radius: 100px;
}

.hero-mockup__app-banner {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	padding: 1.25rem;
	margin-bottom: 1.25rem;
	background: linear-gradient(135deg, rgba(217, 119, 6, 0.25) 0%, rgba(245, 158, 11, 0.15) 100%);
	border: 1px solid rgba(245, 158, 11, 0.2);
	border-radius: var(--u777-radius-md);
}

.hero-mockup__app-banner-label {
	font-size: 0.6875rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.6);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.hero-mockup__app-banner strong {
	font-family: var(--u777-font-heading);
	font-size: 1rem;
	font-weight: 700;
	color: #ffffff;
}

.hero-mockup__app-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.hero-mockup__app-tile {
	aspect-ratio: 1;
	background: linear-gradient(145deg, rgba(245, 158, 11, 0.15) 0%, rgba(17, 17, 17, 0.8) 100%);
	border: 1px solid rgba(245, 158, 11, 0.12);
	border-radius: var(--u777-radius-sm);
}

.hero-mockup__app-cta {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.875rem;
	font-size: 0.8125rem;
	font-weight: 700;
	color: #ffffff;
	background: var(--u777-gradient);
	border-radius: var(--u777-radius-sm);
	box-shadow: 0 8px 24px rgba(217, 119, 6, 0.35);
}

/* Responsive
--------------------------------------------- */
@media (max-width: 1024px) {
	.hero {
		padding: 3rem 0 4rem;
	}

	.hero__inner {
		grid-template-columns: 1fr;
		gap: 3rem;
	}

	.hero__content {
		align-items: center;
		text-align: center;
	}

	.hero__description {
		max-width: 100%;
	}

	.hero__stats {
		justify-content: center;
	}

	.hero__actions {
		justify-content: center;
	}

	.hero__payments {
		align-items: center;
	}

	.hero__payment-list {
		justify-content: center;
	}

	.hero-mockup {
		max-width: 340px;
	}

	.hero-mockup__card--top-left {
		left: 0;
	}

	.hero-mockup__card--top-right {
		right: 0;
	}

	.hero-mockup__card--bottom-left {
		left: 0;
	}

	.hero-mockup__card--bottom-right {
		right: 0;
	}
}

@media (max-width: 640px) {
	.hero {
		padding: 2.5rem 0 3.5rem;
	}

	.hero__inner {
		gap: 2.5rem;
	}

	.hero__content {
		gap: 1.25rem;
	}

	.hero__stats {
		gap: 0.875rem 1.25rem;
	}

	.hero__stat {
		font-size: 0.8125rem;
	}

	.hero__actions {
		flex-direction: column;
		width: 100%;
	}

	.btn--hero {
		width: 100%;
	}

	.btn--hero.btn--primary {
		min-width: unset;
	}

	.hero-mockup {
		max-width: 300px;
		padding: 1.5rem 0;
	}

	.hero-mockup__card {
		padding: 0.5rem 0.75rem;
		font-size: 0.6875rem;
	}

	.hero-mockup__card--top-left,
	.hero-mockup__card--bottom-left {
		left: -0.5rem;
	}

	.hero-mockup__card--top-right,
	.hero-mockup__card--bottom-right {
		right: -0.5rem;
	}

	.hero-mockup__screen {
		min-height: 380px;
	}
}

@media (max-width: 380px) {
	.hero-mockup__card--top-right,
	.hero-mockup__card--bottom-right {
		right: 0;
	}

	.hero-mockup__card--top-left,
	.hero-mockup__card--bottom-left {
		left: 0;
	}
}
