/**
 * Giveaway — page styles
 *
 * Scoped to body.giveaway to avoid leaking into other pages.
 * Loaded only on page-giveaway.php via wp_enqueue_style.
 */

/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
:root {
	--gw-black: #141313;
	--gw-bg: #141313;
	--gw-bg-dark: #191817;
	--gw-white: #fff;
	--gw-muted: #b3afa9;
	--gw-orange: #f3981f;
	--gw-orange-dark: #e57625;
	--gw-cta-gradient: linear-gradient(105.97deg, #f3981f 0%, #e57625 100%);
	--gw-cta-shadow: 0 2px 21.2px rgba(243, 152, 31, 0.39);
	--gw-title-gradient: linear-gradient(90deg, #ffc271 0%, #ff9242 100%);
	--gw-gray: #979797;
	--gw-card-bg: #201914;
	--gw-card-border: #784c0f;
	--gw-card-shadow: 0px 4px 30px rgba(243, 152, 31, 0.3);
	--gw-timeline-border: #747474;
	--gw-heading-shadow: 0px 14px 24px rgba(0, 0, 0, 0.6);
	--gw-radius: 12px;
	--gw-radius-sm: 7px;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
body.giveaway {
	margin: 0;
	background: var(--gw-bg);
	font-family: "Figtree", sans-serif;
	color: var(--gw-white);
}

body.giveaway *,
body.giveaway *::before,
body.giveaway *::after {
	box-sizing: border-box;
}

body.giveaway img {
	max-width: 100%;
	height: auto;
}

body.giveaway .wrapper {
	max-width: calc(var(--gw-wrapper-max, 976px) + 14px);
	padding-inline: 7px;
	margin-inline: auto;

	@media (min-width: 768px) {
		max-width: calc(var(--gw-wrapper-max, 976px) + 24px);
		padding-inline: 12px;
	}
}

/*--------------------------------------------------------------
# Headings
--------------------------------------------------------------*/
body.giveaway .gw-heading-lg,
body.giveaway .gw-heading-sm {
	text-align: center;
	color: var(--gw-white);

	span {
		background: var(--gw-title-gradient);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}
}

body.giveaway .gw-heading-lg {
	font-weight: 600;
	font-size: 42px;
	line-height: 1;
	text-shadow: var(--gw-heading-shadow);

	@media (min-width: 768px) {
		font-size: 58px;
	}

	@media (min-width: 992px) {
		font-size: 68px;
	}
}

body.giveaway .gw-heading-sm {
	font-weight: 400;
	font-size: 40px;
	line-height: 1;

	@media (min-width: 992px) {
		font-size: 47px;
	}
}

/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/
body.giveaway .btn-primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 28px;
	border: none;
	border-radius: var(--gw-radius);
	background: var(--gw-cta-gradient);
	box-shadow: var(--gw-cta-shadow);
	font-family: "Figtree", sans-serif;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2;
	color: var(--gw-black);
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: box-shadow 0.2s;

	&:hover,
	&:focus-visible {
		box-shadow: 0 2px 30px rgba(243, 152, 31, 0.6);
		color: var(--gw-black);
		text-decoration: none;
	}
}

body.giveaway .btn-secondary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 5px 10px;
	border: none;
	border-radius: var(--gw-radius-sm);
	background: var(--gw-cta-gradient);
	font-family: "Figtree", sans-serif;
	font-weight: 600;
	font-size: 14px;
	line-height: 1.57;
	color: var(--gw-black);
	text-decoration: none;
	cursor: pointer;
	transition: box-shadow 0.2s;

	&:hover,
	&:focus-visible {
		box-shadow: 0 2px 16px rgba(243, 152, 31, 0.5);
		color: var(--gw-black);
		text-decoration: none;
	}
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
body.giveaway .gw-header {
	position: relative;
	margin-block: 40px;
	background: var(--gw-bg);

	@media (min-width: 992px) {
		margin-block: 50px 35px;
	}

	.wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

body.giveaway .gw-header__logo {
	flex-shrink: 0;

	img {
		display: block;
		width: 52px;
		height: auto;

		@media (min-width: 992px) {
			width: 80px;
		}
	}
}

/*--------------------------------------------------------------
# Hero
--------------------------------------------------------------*/
body.giveaway .gw-hero {
	margin-block: 40px 30px;
	text-align: center;

	@media (min-width: 992px) {
		margin-block: 35px 40px;
	}
}

body.giveaway .gw-hero__title-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin-bottom: -8px;
}

body.giveaway .gw-hero__confetti {
	width: 42px;
	height: auto;
	flex-shrink: 0;

	@media (min-width: 768px) {
		width: 50px;
	}

	@media (min-width: 992px) {
		width: 61px;
	}
}

body.giveaway .gw-hero__confetti--left {
	transform: scaleX(-1);
}

body.giveaway .gw-hero__amount {
	margin: 0;
	font-weight: 700;
	font-size: 64px;
	line-height: 1;
	text-shadow: var(--gw-heading-shadow);

	@media (min-width: 768px) {
		font-size: 72px;
	}

	@media (min-width: 992px) {
		font-size: 78px;
	}

	span {
		background: var(--light-orange, var(--gw-title-gradient));
		background-clip: text;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}
}

body.giveaway .gw-hero .gw-heading-lg {
	margin: 0 0 25px;
	font-weight: 400;
	font-size: 56px;

	@media (min-width: 768px) {
		font-size: 62px;
	}

	@media (min-width: 992px) {
		font-size: 68px;
	}
}

body.giveaway .gw-hero .wrapper {
	--gw-wrapper-max: 705px;
}

body.giveaway .gw-hero__desc {
	max-width: 302px;
	margin-inline: auto;
	font-size: 18px;
	line-height: 1.2;
	color: var(--gw-gray);

	@media (min-width: 768px) {
		max-width: none;
	}

	@media (min-width: 768px) {
		font-size: 20px;
	}

	@media (min-width: 992px) {
		font-size: 22px;
	}

	p {
		margin: 0 0 1em;

		&:last-child {
			margin-bottom: 0;
		}
	}

	strong {
		font-weight: 400;
		color: var(--gw-white);
	}
}

/*--------------------------------------------------------------
# Milestone
--------------------------------------------------------------*/
body.giveaway .gw-milestone {
	.wrapper {
		--gw-wrapper-max: 637px;
	}
}

body.giveaway .gw-milestone__card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--gw-card-border);
	border-radius: 10px;
	background: var(--gw-black);
	box-shadow: var(--gw-card-shadow);
	aspect-ratio: auto;
	height: 246px;

	@media (min-width: 768px) {
		height: auto;
		aspect-ratio: 637 / 334;
	}
}

body.giveaway .gw-milestone__bg {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	pointer-events: none;
}

body.giveaway .gw-milestone__content {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	text-align: center;
	padding: 24px 16px;
}

body.giveaway .gw-milestone__subtitle {
	margin: 0 0 3px;
	font-weight: 500;
	font-size: 32px;
	line-height: 1.2;
	color: var(--gw-white);
	text-shadow: 0 2px 25px rgba(0, 0, 0, 0.8);

	@media (min-width: 992px) {
		font-size: 37px;
	}
}

body.giveaway .gw-milestone__title {
	margin: 0;
	font-weight: 600;
	font-size: 42px;
	line-height: 1;
	background: linear-gradient(180deg, #fcc379 0%, #f3981e 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-shadow: none;
	filter: drop-shadow(0 1px 32px rgba(0, 0, 0, 0.8));

	@media (min-width: 992px) {
		font-size: 55px;
	}
}

/*--------------------------------------------------------------
# Prizes
--------------------------------------------------------------*/
body.giveaway .gw-prizes {
	padding-block: 100px;
	text-align: center;
	background: url("../img/bg-section-mobile.png") center / cover no-repeat;

	@media (min-width: 976px) {
		background-image: url("../img/bg-section.png");
	}

	@media (min-width: 992px) {
		padding-block: 120px;
	}

	.wrapper {
		--gw-wrapper-max: 717px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;

		@media (min-width: 992px) {
			gap: 30px;
		}
	}

	.gw-heading-lg {
		margin: 0;
	}
}

body.giveaway .gw-prizes__subtitle {
	margin: 0;
	max-width: 381px;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;

	@media (min-width: 768px) {
		font-size: 20px;
	}

	@media (min-width: 992px) {
		font-size: 22px;
	}
}

body.giveaway .gw-prizes__badge {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	max-width: 361px;
	padding: 20px;
	border: 1px solid var(--gw-card-border);
	border-radius: 10px;
	background: var(--gw-card-bg);
	box-shadow: 0px 4px 30px rgba(243, 152, 31, 0.4);
	font-weight: 600;
	font-size: 24px;
	line-height: 1;

	@media (min-width: 768px) {
		flex-direction: row;
		max-width: 662px;
		padding: 20px 26px;
		border-radius: 40px;
		white-space: nowrap;
	}

	@media (min-width: 992px) {
		font-size: 26px;
	}

	p {
		margin: 0;
	}
}

body.giveaway .gw-prizes__badge-trophy {
	flex-shrink: 0;
	font-size: 26px;
	line-height: 1;
}

body.giveaway .gw-prizes__badge-highlight {
	display: block;
	background: var(--gw-title-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-decoration: underline;
	text-underline-offset: 3px;

	@media (min-width: 768px) {
		display: inline;
	}
}

body.giveaway .gw-prizes__bonus {
	margin: 0;
	max-width: 317px;
	font-weight: 600;
	font-size: 18px;
	line-height: 1.2;

	@media (min-width: 768px) {
		max-width: none;
	}

	@media (min-width: 768px) {
		font-size: 20px;
	}

	@media (min-width: 992px) {
		font-size: 22px;
	}

	span {
		background: var(--gw-title-gradient);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
	}
}

/*--------------------------------------------------------------
# Participate
--------------------------------------------------------------*/
body.giveaway .gw-participate {
	margin-bottom: 100px;
	text-align: center;

	@media (min-width: 992px) {
		margin-bottom: 120px;
	}

	.wrapper {
		--gw-wrapper-max: 705px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 20px;

		@media (min-width: 992px) {
			gap: 43px;
		}
	}

	.gw-heading-lg {
		margin: 0;
		font-size: 58px;

		@media (min-width: 992px) {
			font-size: 68px;
		}
	}
}

body.giveaway .gw-participate__heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;

	@media (min-width: 992px) {
		gap: 30px;
	}
}

body.giveaway .gw-participate__desc {
	margin: 0;
	max-width: 349px;
	font-size: 18px;
	line-height: 1.2;
	color: var(--gw-gray);

	@media (min-width: 768px) {
		max-width: none;
		font-size: 20px;
	}

	@media (min-width: 992px) {
		font-size: 22px;
	}

	strong {
		font-weight: 400;
		color: var(--gw-white);
	}
}

body.giveaway .gw-participate__widget {
	width: 100%;
	max-width: 361px;

	@media (min-width: 768px) {
		max-width: 537px;
	}

	.e-widget-wrapper {
		box-shadow: 0 3.978px 63.644px 0 rgba(243, 152, 31, 0.2) !important;
	}
}

/*--------------------------------------------------------------
# Timeline
--------------------------------------------------------------*/
body.giveaway .gw-timeline {
	margin-block: 100px;
	text-align: center;

	@media (min-width: 992px) {
		margin-block: 120px;
	}

	.wrapper {
		--gw-wrapper-max: 473px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}

	.gw-heading-lg {
		margin: 0;
		font-size: 58px;

		@media (min-width: 992px) {
			font-size: 68px;
		}
	}
}

body.giveaway .gw-timeline__card {
	position: relative;
	width: 100%;
	max-width: 361px;
	display: flex;
	flex-direction: column;
	gap: 47px;
	padding: 30px 20px;
	border-radius: var(--gw-radius);
	background: rgba(25, 24, 23, 0.4);
	box-shadow: 0 4px 30px rgba(243, 152, 31, 0.1);
	opacity: 0.9;

	@media (min-width: 768px) {
		max-width: 473px;
		gap: 40px;
		padding: 30px 42px;
	}

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		border: 1px solid transparent;
		border-radius: inherit;
		background: linear-gradient(
				to left,
				rgba(116, 116, 116, 0.2),
				rgba(255, 255, 255, 0.2)
			)
			border-box;
		-webkit-mask:
			linear-gradient(#fff 0 0) padding-box,
			linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		mask:
			linear-gradient(#fff 0 0) padding-box,
			linear-gradient(#fff 0 0);
		mask-composite: exclude;
		pointer-events: none;
	}
}

body.giveaway .gw-timeline__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
}

body.giveaway .gw-timeline__label {
	margin: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 16px;
	line-height: 1.2;

	@media (min-width: 992px) {
		font-size: 18px;
	}
}

body.giveaway .gw-timeline__emoji {
	color: var(--gw-gray);
}

body.giveaway .gw-timeline__label-text {
	background: var(--gw-title-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
}

body.giveaway .gw-timeline__date {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	color: var(--gw-white);

	@media (min-width: 992px) {
		font-size: 22px;
	}
}

/*--------------------------------------------------------------
# Why
--------------------------------------------------------------*/
body.giveaway .gw-why {
	margin-block: 80px;
	text-align: center;

	@media (min-width: 768px) {
		margin-block: 120px;
	}

	.wrapper {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 30px;
	}

	.gw-heading-lg {
		margin: 0;
		max-width: 346px;
		font-size: 58px;

		@media (min-width: 992px) {
			max-width: none;
			font-size: 68px;
		}
	}
}

/* Why subtitle */
body.giveaway .gw-why__subtitle {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.2;
	color: var(--gw-white);
	max-width: 346px;

	@media (min-width: 768px) {
		font-size: 22px;
		max-width: 381px;
	}
}

/* Why cards */
body.giveaway .gw-why__cards {
	display: grid;
	grid-template-columns: 1fr;
	gap: 20px;
	width: 100%;
	max-width: 312px;
	margin-top: 10px;
	background: url("../img/bg-section-mobile.png") center / cover no-repeat;

	@media (min-width: 768px) {
		grid-template-columns: repeat(3, 1fr);
		gap: 24px 20px;
		max-width: 976px;
	}

	@media (min-width: 976px) {
		background-image: url("../img/bg-section.png");
	}
}

body.giveaway .gw-why__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 20px 24px;
	min-height: 198px;
	border-radius: 10px;
	background: #161515;
	border: 1px solid transparent;

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		border: 1px solid transparent;
		border-radius: inherit;
		background: linear-gradient(
				to top right,
				rgba(255, 255, 255, 0.2),
				rgba(116, 116, 116, 0.2),
				#f3981f
			)
			border-box;
		-webkit-mask:
			linear-gradient(#fff 0 0) padding-box,
			linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		mask:
			linear-gradient(#fff 0 0) padding-box,
			linear-gradient(#fff 0 0);
		mask-composite: exclude;
		pointer-events: none;
	}
}

body.giveaway .gw-why__card-title {
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.1;
	text-align: center;
	background: var(--gw-title-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;

	@media (min-width: 768px) {
		font-size: 22px;
	}
}

body.giveaway .gw-why__card-emoji {
	-webkit-text-fill-color: initial;
}

body.giveaway .gw-why__card-desc {
	margin: 0;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.2;
	color: var(--gw-white);
	max-width: 264px;

	@media (min-width: 768px) {
		font-size: 16px;
	}
}

/*--------------------------------------------------------------
# Success Story
--------------------------------------------------------------*/
body.giveaway .gw-story {
	margin-block: 80px;
	text-align: center;

	@media (min-width: 768px) {
		margin-block: 120px;
	}

	.wrapper {
		--gw-wrapper-max: 764px;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: 23px;
	}

	.gw-heading-lg {
		margin: 0;
	}
}

body.giveaway .gw-story__top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;

	@media (min-width: 768px) {
		gap: 30px;
	}
}

body.giveaway .gw-story__desc {
	margin: 0;
	max-width: 340px;
	font-size: 18px;
	line-height: 1.2;
	color: var(--gw-gray);

	@media (min-width: 768px) {
		max-width: 705px;
		font-size: 20px;
	}

	@media (min-width: 992px) {
		font-size: 22px;
	}

	strong {
		font-weight: 400;
		color: var(--gw-white);
	}
}

/* Visual — photo + YT card */
body.giveaway .gw-story__visual {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

body.giveaway .gw-story__photo {
	position: relative;
	z-index: 1;
	display: block;
	width: 100%;
	height: auto;

	@media (min-width: 768px) {
		width: 510px;
	}
}

body.giveaway .gw-story__yt-card {
	position: absolute;
	bottom: 12%;
	left: 50%;
	width: max-content;
	transform: translateX(-50%);
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 16px 20px;
	border-radius: 10px;
	border: 1px solid rgba(243, 152, 31, 0.07);
	background: rgba(255, 255, 255, 0.03);
	backdrop-filter: blur(17px);
	-webkit-backdrop-filter: blur(17px);
	text-decoration: none;
	color: inherit;
	transition: border-color 0.2s;

	@media (min-width: 768px) {
		padding: 20px;
	}

	&:hover,
	&:focus-visible {
		border-color: rgba(243, 152, 31, 0.25);
		text-decoration: none;
		color: inherit;
	}
}

body.giveaway .gw-story__yt-text {
	margin: 0;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.3;
	letter-spacing: -0.36px;
	color: var(--gw-white);

	@media (min-width: 768px) {
		font-size: 22px;
		letter-spacing: -0.44px;
	}
}

body.giveaway .gw-story__yt-icon {
	width: 32px;
	height: auto;

	@media (min-width: 768px) {
		width: 38px;
	}
}

/* Bottom — CTA block */
body.giveaway .gw-story__bottom {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;

	@media (min-width: 768px) {
		gap: 25px;
	}
}

body.giveaway .gw-story__limited {
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
	color: var(--gw-gray);

	@media (min-width: 992px) {
		font-size: 22px;
	}

	strong {
		font-weight: 400;
		color: var(--gw-white);
	}
}

/* Coupon card */
body.giveaway .gw-story__coupon {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	width: 100%;
	max-width: 361px;
	padding: 30px 52px;
	border-radius: var(--gw-radius);
	background: rgba(25, 24, 23, 0.4);
	box-shadow: 0 4px 30px rgba(243, 152, 31, 0.4);
	opacity: 0.9;

	@media (min-width: 768px) {
		max-width: 451px;
	}

	&::before {
		content: "";
		position: absolute;
		inset: 0;
		border: 1px solid transparent;
		border-radius: inherit;
		background: linear-gradient(
				to left,
				rgba(116, 116, 116, 0.2),
				rgba(255, 255, 255, 0.2)
			)
			border-box;
		-webkit-mask:
			linear-gradient(#fff 0 0) padding-box,
			linear-gradient(#fff 0 0);
		-webkit-mask-composite: xor;
		mask:
			linear-gradient(#fff 0 0) padding-box,
			linear-gradient(#fff 0 0);
		mask-composite: exclude;
		pointer-events: none;
	}
}

body.giveaway .gw-story__coupon-text {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.2;
}

body.giveaway .gw-story__coupon-label {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	background: var(--gw-title-gradient);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;

	@media (min-width: 768px) {
		font-size: 18px;
	}
}

body.giveaway .gw-story__coupon-code {
	margin: 0;
	font-weight: 600;
	font-size: 42px;
	line-height: 1.2;
	color: var(--gw-white);

	@media (min-width: 768px) {
		font-size: 52px;
	}
}

body.giveaway .gw-story__cta {
	width: 100%;
}
