/* Title font-face */

/* Sofia Pro Font Family */
@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro UltraLight Az.otf') format('opentype');
	font-weight: 100;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro UltraLight Italic Az.otf') format('opentype');
	font-weight: 100;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro ExtraLight Az.otf') format('opentype');
	font-weight: 200;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro ExtraLight Italic Az.otf') format('opentype');
	font-weight: 200;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Light Az.otf') format('opentype');
	font-weight: 300;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Light Italic Az.otf') format('opentype');
	font-weight: 300;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Regular Az.otf') format('opentype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Regular Italic Az.otf') format('opentype');
	font-weight: 400;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Medium Az.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Medium Italic Az.otf') format('opentype');
	font-weight: 500;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Semi Bold Az.otf') format('opentype');
	font-weight: 600;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Semi Bold Italic Az.otf') format('opentype');
	font-weight: 600;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Bold Az.otf') format('opentype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Bold Italic Az.otf') format('opentype');
	font-weight: 700;
	font-style: italic;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Black Az.otf') format('opentype');
	font-weight: 900;
	font-style: normal;
}

@font-face {
	font-family: 'Sofia Pro';
	src: url('./fonts/Sofia Pro Black Italic Az.otf') format('opentype');
	font-weight: 900;
	font-style: italic;
}

/* Roc Grotesk Font Family */
@font-face {
	font-family: 'Roc Grotesk';
	src: url('./fonts/roc-grotesk-medium.otf') format('opentype');
	font-weight: 500;
	font-style: normal;
}

/* root variables */
:root {
	/* Colors: */
	--black: #000000;
	--secondary: #d1d4f2;
	--primary: #fef4f4;
	--white: #ffffff;
	--footer-background: #353140;

	/* Font/text values */
	--title-font: 'Montserrat';
	--subtitle-font: 'Noto Sans';
	--sofia-pro-font: 'Sofia Pro', sans-serif;
	--roc-grotesk-font: 'Roc Grotesk', sans-serif;
	--font-size-18: 18px;
	--font-size-20: 20px;
	--font-size-50: 50px;
	--character-spacing-0: 0px;
	--line-spacing-24: 24px;
	--line-spacing-27: 27px;
	--line-spacing-90: 90px;
	--text-transform-uppercase: uppercase;
}

body {
	font-family: var(--sofia-pro-font);
	line-height: 1.6;
	font-size: 16px;
	font-weight: 400;
	scroll-behavior: smooth;

	max-width: 1920px;
	margin: 0 auto;
}

.container {
	padding: 0px 16px;
	max-width: 1280px;
}

.hero {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.hero-background {
	width: 100%;
	min-height: 350px;
	object-fit: cover;
	z-index: -1;
}

.sticky-logo {
	position: sticky;
	top: 0;
	left: 0;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 1000;
	padding: 10px 0px;
	background-color: var(--white);
}

.logo {
	height: 30px;
	width: auto;
}

.hero-content {
	z-index: 2;
	padding-top: 16px;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	gap: 8px;
}

.hero-before-title {
	display: block;
	background-color: var(--secondary);
	color: var(--black);
	font-family: var(--roc-grotesk-font);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1.1px;
	line-height: normal;
	padding: 4px 12px 0px;
	border-bottom-right-radius: 10px;
	width: fit-content;
}

.hero-title {
	font-family: var(--roc-grotesk-font);
	font-size: 23px;
	color: var(--black);
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 30px;
	border-top-right-radius: 8px;
	border-top-left-radius: 8px;
	text-transform: uppercase;
}

.hero-subtitle {
	font-family: var(--sofia-pro-font);
	font-size: 16px;
	color: var(--black);
	font-weight: 400;
	letter-spacing: 0px;
	line-height: normal;
	margin-bottom: 40px;
}

.cta-button {
	background-color: var(--primary);
	color: var(--white);
	font-family: var(--subtitle-font);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0px;
	line-height: 18px;
	padding: 10px 20px;
	border-radius: 10px;
}

.steps-section {
	background-color: var(--primary);
	color: var(--black);
	padding-top: 40px;
}

.steps-title {
	font-family: var(--roc-grotesk-font);
	color: var(--black);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 30px;
	margin-bottom: 36px;
	text-align: center;
	text-transform: uppercase;
}

.steps-content {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 32px;
	margin: 0 auto;
}

.steps-content-item {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	position: relative;
	counter-increment: step-counter;

	img {
		width: 100px;
		height: auto;
		z-index: 2;
		position: relative;
	}
}

.steps-content-item-title {
	font-family: var(--sofia-pro-font);
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0px;
	line-height: normal;
	position: relative;
	color: var(--black);
	text-align: center;
	b {
		font-weight: 500;
	}
}

.banner-ugcs {
	margin-top: 40px;
}

.separator {
	margin: 40px auto;
	width: 100%;
	height: 2px;
	background-color: rgb(236, 239, 242);
}

.faq-section {
	background-color: var(--white);

	.container {
		padding: 0px 20px 40px;
	}
}

.faq-title {
	font-family: var(--roc-grotesk-font);
	color: var(--black);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 30px;
	margin-bottom: 14px;
	text-align: left;
}

.faq-content {
	margin: 0 auto;
}

/* FAQ Accordion Styles - Matching Original FAQ Design */
.accordion-item {
	margin-bottom: 10px;
	overflow: hidden;
	width: 100%;
	color: var(--black);
	border: 2px solid rgb(236, 239, 242);
	border-top-right-radius: 4px;
	border-top-left-radius: 4px;
}

.accordion-button {
	width: 100%;
	background: transparent;
	border: none;
	padding: 12px 16px;
	text-align: left;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition: all 0.3s ease;
	color: var(--black);
	background-color: transparent;
	box-shadow: none;
	-webkit-tap-highlight-color: transparent;
}

.accordion-button.collapsed {
	padding-bottom: 10px;
}

.accordion-button:focus {
	outline: none;
	background: transparent;
	box-shadow: none;
}

.accordion-button:active {
	background: transparent;
	box-shadow: none;
}

.accordion-button:focus-visible {
	outline: none;
	background: transparent;
	box-shadow: none;
}

.accordion-button:hover {
	background: transparent;
}

.accordion-button h3 {
	font-family: var(--sofia-pro-font);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0px;
	line-height: 22px;
	flex: 1;
}

.accordion-icon {
	font-size: 20px;
	font-family: var(--sofia-pro-font);
	font-weight: 300;
	margin-left: 20px;
}

.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	background: transparent;
}

.accordion-content.active {
	max-height: 500px;
}

.accordion-content-inner {
	padding: 0 10px 10px 10px;
}

.accordion-content-inner ul {
	padding-left: 20px;
	list-style-type: decimal;
	margin-left: 10px;
}

.accordion-content-inner li {
	font-family: var(--sofia-pro-font);
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0px;
	line-height: 18px;
	margin-bottom: 0;
}

.accordion-content-inner p {
	font-family: var(--sofia-pro-font);
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 0px;
	line-height: 18px;
	margin: 0;
}

.accordion-content-inner a {
	color: var(--black);
	text-decoration: underline;
}

.conditions-section {
	background-color: var(--white);
	margin-bottom: 20px;
}

.conditions-title {
	font-family: var(--roc-grotesk-font);
	color: var(--black);
	font-size: 23px;
	font-weight: 500;
	letter-spacing: 0px;
	line-height: 30px;
	margin-bottom: 14px;
	text-align: left;
	text-transform: uppercase;
}

.conditions-content {
	font-family: var(--sofia-pro-font);
	font-size: 18px;
	font-weight: 300;
	letter-spacing: 0px;
	line-height: 24px;
}

.conditions-content a {
	color: var(--black);
	text-decoration: underline;
}

.footer {
	border-top: 1px solid rgb(115, 97, 237);
	background-color: var(--footer-background);
}

.details-container {
	width: 100%;
	background-color: var(--white);
	padding: 32px 0px;
}

.details-flex {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 0px 24px;
}

.details-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding-bottom: 16px;
}

.details-item-title {
	font-family: var(--sofia-pro-font);
	font-size: 14.4px;
	font-weight: 500;
	line-height: normal;
}

.details-item-description {
	font-family: var(--sofia-pro-font);
	font-size: 12px;
	font-weight: 300;
	line-height: 16px;
	color: var(--black);
}

.footer-content {
	max-width: 1280px;
	margin: 0 auto;
	padding: 30px 16px 40px;
}

.footer-content-bottom {
	display: flex;
	flex-direction: column;
	gap: 16px;
	color: var(--white);

	a {
		font-family: var(--sofia-pro-font);
		font-size: 14px;
		font-weight: 400;
		line-height: 18px;
		text-decoration: none;
	}

	p {
		font-family: var(--sofia-pro-font);
		font-size: 14px;
		font-weight: 400;
		line-height: 18px;
		color: var(--white);
	}
}

.social-links {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 10px;
}

.social-icon {
	width: 30px;
	height: 30px;
	display: flex;
	align-items: center;
	margin-bottom: 16px;

	img {
		width: 20px !important;
		height: 20px !important;
		margin: 0;
		filter: brightness(0) invert(1);
	}

	/* &.instagram {
		img {
			width: 16px !important;
			height: 16px !important;
		}
	} */
}

.footer-bottom {
	width: 100%;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	padding: 20px 40px;

	p {
		font-family: var(--subtitle-font);
		font-size: 13px;
		font-weight: 400;
		line-height: 18px;
		color: rgba(255, 255, 255, 0.2);
		text-align: center;
	}
}

@media (min-width: 960px) {
	section {
		margin: 0 auto;
	}
	.container {
		margin: 0 auto;
	}

	.sticky-logo {
		background-color: #d2d4f3;
		position: initial;
		justify-content: flex-start;
		padding: 8px 24px 30px;
	}

	.hero-background {
		min-height: 450px;
	}

	.hero {
		.container {
			width: 100%;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}
	}

	.hero-title {
		color: var(--white);
		font-size: 29px;
		line-height: 38px;
	}

	.hero-subtitle {
		color: var(--white);
		font-size: 16px;
		line-height: 22px;
		margin-top: 24px;
	}

	.section-title {
		font-size: 29px;
		line-height: 38px;
	}

	.steps-content {
		flex-direction: row;
		gap: 32px;
		padding-bottom: 40px;
	}

	.details-flex {
		max-width: 1280px;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: space-between;
		margin: 0 auto;
	}

	.footer-content-bottom {
		flex-direction: row;
		gap: 32px;
	}
}
