section {
	width: 90%;
}
.header__content {
	width: calc(90% - 3rem);
	margin-top: 1.5rem;
}

.header__menu {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	& input + label {
		display: none;
	}
	& input ~ nav {
		display: block;
		position: initial;
		width: auto;
		height: auto;
		background: none;
		overflow: initial;
	}
	& .menu__nav {
		background: color-mix(
			in srgb,
			var(--color-vibe-blue-dark) 50%,
			transparent
		);
		border-radius: 3rem;
		backdrop-filter: blur(0.7rem);
	}
	& #menu ul.menu {
		display: flex;
		flex-direction: initial;
		justify-content: flex-end;
		padding: 0;
		position: relative;
		z-index: 5;
		> li {
			opacity: inherit;
			list-style: none;
			position: relative;
			padding-top: 0;
			margin: 0;
			cursor: pointer;
			> a {
				display: block;
				font: 300 1.5rem / 1.8 var(--font-primary);
				padding: 1rem 1.8rem;
				border-radius: 0.5rem;
				transition: 0.5s;
				color: var(--color-background);
				text-transform: uppercase;
				text-decoration: none;
			}
			&:hover {
				ul.sub-menu {
					display: block;
				}
				a {
					transition: 0.5s;
					color: var(--color-vibe-yellow);
				}
			}
			&.menu-item-has-children {
				display: flex;
				width: auto;
				background: none;
			}
			&.lang-item a {
				height: 2.6rem;
			}
		}
		> li + li:before {
			content: "";
			width: 0.4rem;
			height: 0.4rem;
			background-color: var(--color-vibe-light);
			border-radius: 50%;
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
		}
		& ul.sub-menu {
			display: none;
			position: absolute;
			top: 0;
			left: 0;
			z-index: 999;
			padding-top: 6rem;
			& li {
				width: 100%;
				background: color-mix(
					in srgb,
					var(--color-vibe-blue-dark) 90%,
					transparent
				);
				list-style: none;
				margin: 0;
				&:hover {
					background: linear-gradient(
						10deg,
						var(--color-vibe-green-2),
						var(--color-vibe-green)
					);
					background-size: 100% 170%;
				}
				> a {
					display: block;
					width: max-content;
					padding: 1rem 1.2rem;
					font: 300 1.4rem / 1.6rem var(--font-primary);
					text-decoration: none;
					color: var(--color-vibe-light-2);
				}
				&:hover > a {
					color: var(--color-background);
				}
				&:first-child:only-child,
				&:first-child:only-child a {
					border-radius: var(--radius-vibe);
				}
				&:first-child,
				&:first-child a {
					border-radius: var(--radius-vibe) var(--radius-vibe) 0 0;
				}
				&:last-child,
				&:last-child a {
					border-radius: 0 0 var(--radius-vibe) var(--radius-vibe);
				}
			}
			& li + li {
				border-top: solid 0.1rem var(--color-vibe-blue-dark);
			}
		}
		& .lang-item a {
			width: auto;
			padding-right: 1.1rem;
		}
	}
}

.header__navigation {
	flex-direction: row;
	padding: 2rem max(20px, calc((100% - 1200px) / 2)) 2rem
		max(20px, calc((100% - 1200px) / 2));
	justify-content: space-between;
	align-items: flex-start;
	.header__nav {
		margin: 0;
	}
	& .header__top_widgets {
		justify-content: flex-end;
		& .wp-block-polylang-language-switcher {
			display: none;
		}
	}
}

.custom-logo {
	width: auto;
}

.lang_switch {
	p {
		display: inherit;
		font: 300 1.4rem / normal var(--font-primary);
		color: var(--color-vibe-light);
		margin: 0 !important;
		padding-top: 0;
	}
	img {
		width: initial !important;
	}
}

.header__innerpages {
	#menu ul.menu > li {
		> a {
			color: var(--color-vibe-light);
			font-weight: 500;
			&:hover {
				color: var(--color-vibe-yellow);
			}
		}
		& ul.menu li > a {
			color: var(--white);
			border-color: var(--color-background);
		}
	}
	& .header__content {
		width: 90%;
	}
}

.category__cards {
	gap: 2%;
	row-gap: 3rem;
}

.v__card {
	flex-basis: 30%;
	max-width: 27rem;
}

.v_the_content {
	& .wp-block-contact-form-7-contact-form-selector {
		width: 80%;
	}
	& form label {
		flex-basis: 48%;
	}
}

#footer {
	width: calc(90% - 3rem);
}

.footer__box {
	width: 95%;
}

.footer__widgets {
	justify-content: space-evenly;
	gap: 4%;
	row-gap: 5rem;
	> div {
		flex-basis: 30%;
	}
}

.footer__copyright {
	width: calc(90% - 3rem);
	> div {
		width: 50%;
	}
	.copy p {
		text-align: left;
	}
	.payments {
		justify-content: flex-end;
	}
}

.frontpage__features {
	padding: 5rem 0 9rem;
	.features-box {
		gap: 2%;
		justify-content: space-between;
		.feature {
			flex: 1;
			min-width: 0;
		}
	}
}

section.itinerary__banner {
	& .slider__slide {
		height: 48rem;
	}
}

section.itinerary__title {
	margin-top: -20rem;
	h1 {
		font: 500 5.2rem/6rem var(--font-secondary);
	}
}

.itinerarios__highlights {
	padding: 1rem 3rem;
	flex-wrap: nowrap;
}

.itinerary__content {
	.responsive-tabs-wrapper:before {
		display: none;
	}
	.responsive-tabs {
		ul.responsive-tabs__list {
			margin: 0;
			display: flex;
			align-items: center;
			.responsive-tabs__list__item {
				font: 700 1.4rem var(--font-primary);
				color: var(--color-vibe-dark);
				border: none;
				padding: 4.5rem 2rem 1rem 2rem;
				border-radius: var(--radius-vibe);
				background: var(--color-vibe-light);
				box-shadow: 0px 4px 12px
					color-mix(in srgb, var(--color-vibe-dark) 15%, transparent);
				&:hover {
					color: var(--color-vibe-light);
					background: var(--color-green-dark);
					&:before {
						background-color: var(--color-vibe-light);
					}
				}
			}
			.responsive-tabs__list__item--active {
				color: var(--color-white);
				background: var(--color-vibe-green-2);
				&:before {
					background-color: var(--color-vibe-light);
				}
				&:hover {
					color: var(--color-white);
					background: var(--color-vibe-green-2);
				}
			}
			> li {
				position: relative;
			}
			> li:before {
				content: "";
				width: 3.2rem;
				height: 3.2rem;
				background-color: var(--color-vibe-green-2);
				position: absolute;
				left: 50%;
				top: 1rem;
				transform: translateX(-50%);
				mask-size: cover;
				-webkit-mask-size: cover;
			}
			> li:nth-child(1):before {
				width: 2.5rem;
				mask-image: url(../images/itinerario-icon.svg);
				-webkit-mask-image: url(../images/itinerario-icon.svg);
			}
			> li:nth-child(2):before {
				width: 3.1rem;
				mask-image: url(../images/incluye-icon.svg);
				-webkit-mask-image: url(../images/incluye-icon.svg);
			}
			> li:nth-child(3):before {
				width: 2.9rem;
				mask-image: url(../images/recomendaciones-icon.svg);
				-webkit-mask-image: url(../images/recomendaciones-icon.svg);
			}
			> li:nth-child(4):before {
				mask-image: url(../images/faq-icon.svg);
				-webkit-mask-image: url(../images/faq-icon.svg);
			}
		}
		.responsive-tabs__panel {
			border: none;
			background: var(--color-vibe-light);
			padding: 2.5rem 1.8rem;
			border-radius: var(--radius-vibe);
			margin-top: 1rem;
			box-shadow: 0px 4px 12px
				color-mix(in srgb, var(--color-vibe-dark) 15%, transparent);
		}
	}
}
