.mobile-menu {
	background: linear-gradient(180deg, #000000 0%, #06111a 100%);
	z-index: calc(var(--z-header) + 1);
	display: flex;
	transition: opacity 0.25s ease-in-out;
	position: fixed;
	top: var(--header-height);
	right: 0;
	bottom: 0;
	left: 0;

	flex-direction: column;

	opacity: 0;
	pointer-events: none;

	overflow-y: scroll;

	@include media-min($large) {
		display: none;
	}
}

.mobile-menu-default {
	html.mobile-menu-default-active & {
		opacity: 1;
		pointer-events: all;
	}

	&__primary-group {
		border-bottom: 1px solid #5d6974;

		&:last-of-type {
			border-bottom: 2px solid rgba(var(--color-rgb-white), 0.3);
		}

		&.active {
			.mobile-menu-default__primary-button-icon {
				transform: rotate(0);
			}
			.mobile-menu-default__primary-group-inner {
				transition: all 0.3s cubic-bezier(1, 0, 1, 0);
				max-height: 9999px;
				pointer-events: all;
			}
		}
	}

	.mobile-menu-default__primary-title-label,
	&__primary-link {
		padding: 24px 0;
		font-size: 1.8rem;
		line-height: 26px;
		font-weight: 400;
		color: var(--color-white);
		text-decoration: none;
		transition: color var(--default-transition-params);
	}

	.mobile-menu-default__primary-title-label {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 2rem;
		padding-left: 0;
		line-height: var(--body-font-line-height);

		&::before,
		&::after {
			display: none;
		}

		span {
			color: var(--color-white);
			transition: color var(--default-transition-params);
		}
	}

	&__primary-link {
		display: inline-block;
	}

	&__primary-button-icon {
		width: 10px;
		height: 8px;
		transform: rotate(-90deg);
		transition: transform var(--default-transition-params);
	}

	&__primary-group-inner {
		position: relative;
		transition: all 0.3s cubic-bezier(0, 1, 0, 1);
		max-height: 0;
		overflow: hidden;
		pointer-events: none;
	}

	&__primary-section {
		padding-bottom: 20px;
		a {
			font-size: 18px;
			line-height: 24px;
			text-decoration: none !important;
		}
		p {
			font-size: 16px;
			font-weight: 300;
			line-height: 22px;
			margin-top: 12px;
			color: #a2adb9;
		}
		& + .mobile-menu-default__section-links-column {
			border-top: 1px solid #424d57;
			padding-top: 20px;
		}
	}

	&__section-links-column {
		padding-bottom: 20px;
		& + .mobile-menu-default__section-links-column {
			border-top: 1px solid #424d57;
			padding-top: 20px;
		}
	}

	&__section-links-column-label {
		font-size: 18px;
		font-weight: 500;
		line-height: 24px;
		margin-bottom: 12px;
		color: #fff;
	}

	&__section-links-column-links {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		&.one {
			grid-template-columns: 1fr;
		}
		a {
			display: flex;
			align-items: center;
			gap: 8px;
			font-size: 16px;
			font-weight: 300;
			line-height: 22px;
			color: #a2adb9;
			text-decoration: none !important;
			justify-content: flex-start;
			width: max-content;
			&:hover,
			&:active {
				color: var(--anchor-link-hover-color);
			}
		}
	}

	&__section-links-column-badge {
		flex-shrink: 0;
		display: inline-flex;
		align-items: center;
		padding: 0 8px;
		border-radius: 2px;
		background-color: #dc150b;
		color: var(--color-white);
		font-size: 12px;
		font-weight: var(--font-weight-bold);
		line-height: 1.35;
		text-transform: uppercase;
	}

	&__section-link-large {
		font-weight: var(--font-weight-semibold);
		color: var(--color-white);
		text-decoration: none;

		& + & {
			margin-top: 2rem;
		}
	}

	&__secondary-links {
		padding: 2.8rem 0 4rem;

		a {
			font-size: 1.8rem;
			font-weight: 400;
			color: var(--color-white);
			text-decoration: none;
			transition: color var(--default-transition-params);
		}
	}

	&__menu-cta {
		display: flex;
		justify-content: center;
		gap: 1.6rem;
		padding-bottom: 6rem;
	}
}

.mobile-menu-cta {
	html.mobile-menu-cta-active & {
		opacity: 1;
		pointer-events: all;
	}

	&__inner {
		padding: 0 var(--container-margin);
	}
}
