/**
 * ButtonPrimary Component Styles
 * Converted from ButtonPrimary.module.scss for WordPress
 */

.btn_primary {
	background-color: var(--lightBlue, #a3dbe8);
	border-radius: 50px;
	width: fit-content;
	color: var(--darkBlue, #002c5f);
	font-family: var(--font-medium, "Raleway-Medium", sans-serif);
	font-size: 14px;
	line-height: 1.2;
	font-weight: 500;
	height: 60px;
	padding: 0 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.5s ease;
	position: relative;
	overflow: hidden;
	min-width: 210px;
	border: none;
	cursor: pointer;
	text-decoration: none;
}

.btn_primary.width_160 {
	min-width: 160px;
}

.btn_primary.width_200 {
	min-width: 200px;
}

.btn_primary::after {
	position: absolute;
	left: 0;
	bottom: 100%;
	height: 100%;
	width: 100%;
	content: "";
	z-index: 1;
	background-color: var(--darkBlue, #002c5f);
	transition: all 0.5s ease;
}

.btn_primary span {
	z-index: 2;
	position: relative;
}

/* Variant 2 */
.btn_primary.variant2 {
	background-color: var(--darkBlue, #002c5f);
	border: 1px solid var(--lightBlue, #a3dbe8);
	color: var(--lightBlue, #a3dbe8);
}

.btn_primary.variant2::after {
	background-color: var(--lightBlue, #a3dbe8);
}

.btn_primary.variant2.hovered {
	color: var(--darkBlue, #002c5f);
}

/* Variant 3 */
.btn_primary.variant3 {
	background-color: var(--lightBlue, #a3dbe8);
	/* background-color: transparent; */
	border: 1px solid var(--darkBlue, #002c5f);
	color: var(--darkBlue, #002c5f);
}

.btn_primary.variant3::after {
	background-color: var(--darkBlue, #002c5f);
}

.btn_primary.variant3.hovered {
	color: var(--lightBlue, #a3dbe8);
}

/* Variant 4 */
.btn_primary.variant4 {
	background-color: transparent;
	border: 1px solid var(--darkBlue, #002c5f);
	color: var(--darkBlue, #002c5f);
}

/* Hovered state */
.btn_primary.hovered {
	color: var(--lightBlue, #a3dbe8);
}

.btn_primary.hovered::after {
	bottom: 0%;
}

/* Cursor pointer left state */
.btn_primary.cursor_pointer_left::after {
	bottom: -100%;
}

/* Default state: top position with no transition for instant invisible reset */
.btn_primary:not(.hovered):not(.cursor_pointer_left)::after {
	bottom: 100%;
	transition: none;
}

/* Disabled state */
.btn_primary:disabled {
	opacity: 0.6;
	cursor: not-allowed;
}

/* Responsive for 110%–119% zoom */
@media (min-resolution: 105dpi) {
	.btn_primary {
		height: 55px;
	}

	.btn_primary.width_160 {
		min-width: 140px;
	}

	.btn_primary.width_200 {
		min-width: 180px;
	}
}

@media (min-resolution: 115dpi) {
	.btn_primary {
		height: 50px;
	}

	.btn_primary.width_160 {
		min-width: 120px;
	}

	.btn_primary.width_200 {
		min-width: 160px;
	}
}

@media (max-width: 1440px) and (min-resolution: 105dpi) and (max-resolution: 149dpi) {
	.btn_primary.width_160 {
		min-width: 110px;
	}

	.btn_primary.width_200 {
		min-width: 140px;
	}
}

/* Responsive */
@media (max-width: 1024px) {
	.btn_primary {
		min-width: 180px;
		height: 50px;
		font-size: 13px;
		padding: 0 18px;
	}
}

@media (max-width: 768px) {
	.btn_primary {
		min-width: 140px;
		height: 45px;
	}

	.btn_primary.width_200 {
		min-width: 130px;
	}

	.btn_primary.width_160 {
		min-width: 120px;
	}
}

@media (max-width: 700px) {
	.btn_primary {
		min-width: 120px;
		height: 40px;
	}

	.btn_primary.width_200 {
		min-width: 110px;
	}

	.btn_primary.width_160 {
		min-width: 100px;
	}
}