/*
Theme Name: Killari Peru Travel.
Author: Hans Ccarita
Description: El tema, peronalizado y enfocado a los servicios que presta la Empresa con un diseño claro. La tipografía es sencilla, clara y legible en una gran variedad de tamaños de pantalla, además de disponible en multitud de idiomas. Lo hemos diseñado pensando primero en su uso móvil, lo que implica que tu contenido ocupará el centro de la escena independientemente de cómo lleguen tus visitantes, ya sea desde un móvil inteligente, una tableta, un portátil o un ordenador de escritorio.
Author URI: https://github.com/hanszio
version: 1.0
License: GNU General Public License v3 or later  
License URI: http://www.gnu.org/licenses/gpl-3.0.html  
Text Domain: projectzion
Tags: wordpress theme, hans designer, web developer
*/

/* GENERALES */
:root {
	--color-background: #fff;
	--color-white: #fff;
	--color-gray-1: #f0f0f0;
	--color-gray-2: #e9e5e5;
	--color-gray-3: #9c9c9c;
	--color-gray-4: #4e4f55;
	--color-gray-5: #272933;
	--color-gray-6: #1a1a1a;
	--color-black: #000;
	--color-blue: #337ab7;
	--color-blue-dark: #286090;
	--color-green: #5cb85c;
	--color-green-dark: #449d44;
	--color-yellow: #f0ad4e;
	--color-yellow-dark: #ec971f;
	--color-red: #d9534f;
	--color-red-dark: #c9302c;
	--color-vibe-green: #60cf66;
	--color-vibe-green-dark: #2b7a64;
	--color-vibe-yellow: #f7e987;
	--color-vibe-yellow-dark: #ffce19;
	--color-vibe-light: #ededed;
	--color-vibe-black: #1f211f;
	--color-vibe-dark: #445069;
	--color-vibe-dark-plus: #2c4260;
	--font-primary: "Work Sans", sans-serif;
	--font-secondary: "rafaella", sans-serif;
	--radius-vibe: 0.4rem;
}

*,
*::after,
*::before {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	font-size: 62.5%;
	background: var(--background);
	scroll-behavior: smooth;
}

body {
	font-family: var(--font-primary);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

main {
	position: relative;
}

section {
	width: 90%;
	max-width: 140rem;
	margin: 0 auto;
	position: relative;
}

section p {
	margin-bottom: 2rem;
	box-sizing: border-box;
}

section p:last-child:not(:only-of-type) {
	margin-top: 2rem;

	a + a {
		margin-left: 1rem;
	}
}

h1,
h2,
h3,
h4 {
	font-family: var(--font-secondary);
	font-style: normal;
	font-weight: 600;
	font-size: 3.2rem;
	line-height: 4rem;
	color: var(--color-vibe-black);
}

h2 {
	font-weight: 500;
	font-size: 2.8rem;
}

h3 {
	font-weight: 400;
	font-size: 2.4rem;
}

h4 {
	font-weight: 300;
	font-size: 1.8rem;
}

p,
li,
a {
	font-family: var(--font-primary);
	font-style: normal;
	font-weight: 300;
	font-size: 1.6rem;
	line-height: 2.6rem;
	text-align: center;
	color: var(--color-vibe-black);
}

a {
	text-decoration: none;
}

ul {
	margin-bottom: 2rem;
}

li {
	text-align: left;
	list-style: disc outside;
	margin-left: 1em;
	padding-top: 0;
}

p:empty {
	display: none;
}

hr {
	width: 100%;
	margin: 3rem 0;
	color: var(--black);
}

/* FIN-GENERALES */
/* ESTILOS ESPECIALES */
.btn-general {
	display: inline-block;
	font-weight: 500;
	font-size: 1.6rem;
	line-height: initial;
	text-align: center;
	text-transform: uppercase;
	color: var(--blue);
	padding: 1rem 2rem;
	border: 2px solid var(--blue);
	border-radius: 0.5rem;
}

.btn-golden {
	color: var(--red);
	border-color: var(--red);
}

/* FIN-ESPECIALES */
/* HEADER */
.header__logo {
	position: relative;
	&:before {
		content: "";
		width: 8rem;
		height: 4.8rem;
		background: url(assets/images/marca-peru.svg) no-repeat center;
		background-size: contain;
		position: absolute;
		top: 50%;
		right: -12rem;
		transform: translateY(-50%);
	}
	&:after {
		content: "";
		width: 0.1rem;
		height: 8rem;
		background: var(--color-vibe-light);
		position: absolute;
		top: 50%;
		right: -2rem;
		transform: translateY(-50%);
	}
}
.header__frontpage {
	position: relative;
}

.header__nav {
	width: 100%;
	position: absolute;
	z-index: 2;
	&:before {
		position: absolute;
		content: "";
		width: 100%;
		height: 110%;
		background: linear-gradient(180deg, #1f2023b8 0%, rgb(0 0 0 / 0%) 100%);
		backdrop-filter: blur(2.5px);
		z-index: -1;
	}
	.header__content {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: unset;
		padding: 1rem 1.5rem 0;
		border-radius: 1rem;
	}
}

.header__logo img {
	width: 14rem;
	height: auto;
}

.header__widgets .wp-block-polylang-language-switcher {
	li {
		list-style: none;
		margin: 0;
	}
	a {
		text-decoration: none;
		display: block;
		height: 2rem;

		img {
			border-radius: 6px;
			width: 3rem;
			height: auto;
			object-fit: cover;
		}
	}
}

.n2-ss-layer.n2-ow.banner-shadow {
    div, p{
        text-shadow: 2px 2px 2px #00000066 !important;!i;!;
    }
}
/* FIN HEADER */
/* MENU */
#menu__burger {
	display: none;
}

.header__menu input + label {
	background: var(--color-vibe-green);
	border: 13px solid var(--color-vibe-green);
	border-radius: 50%;
	position: fixed;
	bottom: 30px;
	right: 30px;
	height: 20px;
	width: 20px;
	z-index: 5;
	box-sizing: initial;
}

.header__menu input + label span {
	background: var(--color-vibe-light);
	position: absolute;
	width: 100%;
	height: 3px;
	top: 50%;
	margin-top: -1px;
	left: 0;
	display: block;
	transition: 0.5s;
}

.header__menu input + label span:first-child {
	top: 4px;
}

.header__menu input + label span:last-child {
	top: 16px;
}

.header__menu input + label span:nth-of-type(1) {
	width: 50%;
}

.header__menu input + label span:nth-of-type(2) {
	width: 100%;
}

.header__menu input + label span:nth-of-type(3) {
	width: 75%;
}

.header__menu label:hover {
	cursor: pointer;
}

.header__menu input:checked + label span {
	opacity: 0;
	top: 50%;
	width: 100%;
}

.header__menu input:checked + label span:first-child {
	opacity: 1;
	transform: rotate(405deg);
}

.header__menu input:checked + label span:last-child {
	opacity: 1;
	transform: rotate(-405deg);
}

.header__menu input ~ nav {
	background: var(--color-vibe-dark);
	position: fixed;
	top: 0;
	left: 0;
	width: 0%;
	height: 0%;
	z-index: 4;
	transition: 0.5s;
	transition-delay: 0.5s;
	overflow: hidden;
	box-shadow: none;
	display: none;
}

.header__menu input ~ nav ul {
	display: flex;
	flex-direction: column;
	justify-content: center;
	height: 100%;
	padding: 3rem 0;
	box-sizing: border-box;
	align-items: center;
	margin: 0 auto;
}

.header__menu input ~ nav ul > li {
	opacity: 0;
	transition: 0.5s;
	transition-delay: 0s;
}

.header__menu input ~ nav ul > li > a {
	font-family: var(--font-primary);
	font-size: 2.2rem;
	text-decoration: none;
	text-align: center;
	color: #ffffff;
	font-weight: 400;
	display: block;
	padding: 3.3rem 3rem;
	width: 100vw;
	text-transform: uppercase;
}

.header__menu input ~ nav ul > li > a:hover,
.header__menu input ~ nav ul > li > a:active {
	background: linear-gradient(
		45deg,
		var(--color-vibe-green),
		var(--color-vibe-green-dark)
	);
	color: var(--color-vibe-light);
}

.header__menu input:checked ~ nav {
	display: inherit;
	background: var(--color-vibe-black);
	height: 100vh;
	width: 100vw;
}

.header__menu input:checked ~ nav ul > li {
	opacity: 1;
	transition-delay: 0.5s;
	display: block;
	margin: 0;
}

.header__menu input:checked ~ nav ul > li.current-menu-item a {
	background: var(--color-vibe-green-dark);
}

.header__menu input:checked ~ nav ul > li:not(:last-child) {
	border-bottom: 1px solid;
	border-image: linear-gradient(
			to right,
			var(--color-vibe-green-dark),
			var(--color-vibe-green-dark),
			var(--color-vibe-green)
		)
		1;
}

/* FIN-MENU */
/* MENU SECUNDARIO */
[id^="menu-menu-header"] {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	display: none;
}

[id^="menu-menu-header"] li {
	list-style: none;
	margin: 0;
}

[id^="menu-menu-header"] li a {
	color: var(--white);
	font: 300 1.4rem var(--font-primary);
	letter-spacing: 0.07rem;
	padding: 0 2rem;
}

.header__widgets {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	> div:last-child ul {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		margin: 0;
	}
	> div:not(:last-child) {
		display: none;
	}
}

[id^="menu-menu-header"] li + li {
	border-right: solid 1px var(--white);
}

[id^="menu-menu-header"] li:first-child a {
	border-radius: 6px;
	color: var(--white);
	padding: 0.7rem 0.9rem;
	display: block;
	font-weight: 500;
	font-size: 1.5rem;
	background: var(--orange);
}

[id^="menu-menu-header"] li:first-child a:before {
	display: inline-block;
	vertical-align: middle;
	content: "";
	width: 1.5rem;
	height: 1.6rem;
	background: url(assets/images/call.svg) no-repeat center center;
	margin-right: 0.5rem;
	margin-top: -0.3rem;
}
.header__banner .slider_instance .stx-main-container {
	height: 100vh !important;
}

/* FIN MENU SECUNDARIO */
/* FRONTPAGE */
.frontpage {
	background: var(--color-background);
}

.frontpage__welcome {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2rem;
	padding: 7rem 0;
}

.welcome__text {
	max-width: 80.6rem;
}

.frontpage h1,
.frontpage h2,
.itinerarios__bestdestinations h2,
.pages__box h1,
.taxonomy_box h1 {
	font: 700 3.6rem / normal var(--font-primary);
	color: var(--color-vibe-dark-plus);
	text-transform: uppercase;
	text-align: center;
	padding-bottom: 1rem;
	margin-bottom: 2rem;
}

.frontpage h1 {
	text-align: center;
	font-family: var(--font-secondary);
	text-transform: capitalize;
	font-weight: 400;
	margin: 0;
	line-height: 6rem;
}

.welcome__text p {
	text-align: center;
}

.ico-phone a {
	font: 600 1.6rem / normal var(--font-primary);
	color: var(--color-vibe-light);
	border-radius: var(--radius-vibe);
	background: linear-gradient(102deg, #2b7a64 -4.81%, #60cf66 105.9%);
	padding: 1.3rem 1.5rem 0.9rem;
	&:before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 2rem;
		height: 2rem;
		background: url(assets/images/phone-white.svg) no-repeat center;
		background-size: contain;
		margin-right: 0.4rem;
		margin-bottom: 0.3rem;
	}
}

.frontpage__blockTours {
	padding: 2rem 0;
	text-align: center;
	margin-bottom: 5rem;
	h2 {
		margin: 0;
	}
	> p {
		position: relative;
		padding-bottom: 2rem;
		margin-bottom: 3rem;
		&:before {
			content: "";
			width: 20rem;
			height: 0.2rem;
			background: var(--color-vibe-green);
			position: absolute;
			bottom: 0; /* Agregado para que se posicione al final del padding */
			left: 50%; /* Centrado horizontalmente */
			transform: translateX(-50%);
		}
	}
}

.bestdestinations_box {
	display: grid;
	width: 100%;
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: repeat(3, 1fr);
	gap: 1rem 1rem;
	grid-template-areas:
		"card__1 card__1"
		"card__2 card__4"
		"card__3 card__5";
}

.toursmachupicchu_box {
	/* display: grid; */
	/* grid-template-columns: 1fr; */
	/* grid-template-rows: repeat(2, 1fr); */
	/* gap: 1rem 1rem; */
}

.besttours__card {
	position: relative;
	cursor: pointer;
	/* padding: 1rem; */
}

.card__1 {
	grid-area: card__1;
}
.card__2 {
	grid-area: card__2;
}
.card__3 {
	grid-area: card__3;
}
.card__4 {
	grid-area: card__4;
}
.card__5 {
	grid-area: card__5;
}

.besttours__card::before {
	content: "";
	padding-top: 75%;
	display: block;
}

.besttours__card:hover .card-button {
	height: 100%;
	justify-content: center;
	flex-direction: column;
	backdrop-filter: blur(7px);
	align-items: center;
	padding-top: 1.5rem;
	h3 {
		text-align: center;
	}
}

.card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

.card__price {
    position: absolute;
    top: .5rem;
    left: .5rem;
    padding: .5rem 1rem;
    border-radius: var(--radius-vibe);
    background: rgba(0, 0, 0, 0.53);
    backdrop-filter: blur(2px);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    .card__price--from {
        font: 400 1.4rem/normal var(--font-primary);
        color: var(--color-vibe-light)
    }
    .card__price--amount {
        font: 700 2rem/normal var(--font-primary);
        color: var(--color-vibe-yellow-dark)
    }
}

.card-button {
	position: absolute;
	display: flex;
	flex-direction: column;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0);
	backdrop-filter: blur(0px);
	padding: 0 1.5rem 1.5rem;
	border-radius: 1rem;
	transition: all 0.3s ease-out;
	z-index: 1;
}

.besttours__card:after {
	content: "";
	width: 100%;
	height: 20rem;
	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(
		0deg,
		rgba(0, 0, 0, 0.7987570028011204) 0%,
		rgba(35, 43, 87, 0) 100%
	);
	border-radius: 0 0 0.4rem 0.4rem;
}

.card-image {
	width: 100%;
	height: 100%;
}

.card-button h3 {
	font: 600 2.2rem / normal var(--font-primary);
	color: var(--color-vibe-light);
	text-align: left;
	margin-bottom: 0.7rem;
	text-transform: uppercase;
}

.card-button h3:after {
	height: 1px;
}

.card-button span {
	font: 500 1.6rem / normal var(--font-primary);
	color: var(--color-vibe-light);
	text-align: left;
}

span.card-button-itinerary {
	font: 600 1.6rem / normal var(--font-primary);
	text-transform: uppercase;
	color: var(--color-vibe-light);
	border-radius: 4px;
	background: linear-gradient(102deg, #2b7a64 -4.81%, #60cf66 105.9%);
	padding: 1.3rem 1.5rem 0.9rem;
	margin-top: 0.7rem;
	width: fit-content;
	&:before {
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 2rem;
		height: 2rem;
		background: url(assets/images/itinerary.svg) no-repeat center;
		background-size: contain;
		margin-right: 0.4rem;
		margin-bottom: 0.4rem;
	}
}

span.card-duration:before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	width: 2rem;
	height: 2rem;
	background: url(assets/images/timer.svg) no-repeat center;
	background-size: contain;
	margin-right: 0.4rem;
	margin-bottom: 0.4rem;
}

.bestdestinations_box > .besttours__card:not(:first-child) .card-button {
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: space-between;
	h3 {
		font-size: 1.8rem;
		text-transform: none;
		flex-basis: 100%;
	}
	span.card-duration {
		display: flex;
		align-items: center;
	}
	span.card-button-itinerary {
		color: transparent;
		width: 3rem;
		height: 3rem;
		position: relative;
		margin: 0;
		&:before {
			background: url(assets/images/itinerary-arrow.svg);
			margin: 0;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}
	}
}

.bestdestinations_box > .besttours__card:not(:first-child):hover .card-button {
	flex-wrap: nowrap;
	flex-direction: column;
	justify-content: center;
	h3 {
		flex-basis: unset;
		text-align: center;
	}
}

section.frontpage__testimonials {
	background: url(assets/images/back_testimonials.webp) no-repeat center
		bottom;
	background-size: cover;
	min-height: 55rem;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 1rem;
}

.frontpage__map {
	width: 100%;
	max-width: 100%;
	height: 450px;
	position: relative;
	background: var(--color-vibe-black);
	display: flex;
	justify-content: center;
	padding-bottom: 3rem;
	box-sizing: content-box;
}

.frontpage__map > iframe {
	width: 90%;
	border-radius: 1rem;
}

.caracteristicas__botones {
	display: flex;
	justify-content: center;
	margin-top: 5rem;
	button {
		cursor: pointer;
		font: 600 1.6rem / normal var(--font-primary);
		text-transform: uppercase;
		color: var(--color-vibe-light);
		border-radius: 4px;
		background: linear-gradient(102deg, #2b7a64 -4.81%, #60cf66 105.9%);
		padding: 1.3rem 1.5rem 1.3rem;
		margin-top: 0.7rem;
		border: none;
		transition: all 0.5s;
		&:hover {
			background: var(--color-vibe-yellow);
			color: var(--color-vibe-blue-dark);
			transition: all 0.5s;
		}
	}
	.lightbox_includes {
		background: var(--color-vibe-black);
		padding: 1.5rem;
		font-size: 1.4rem;
		color: var(--color-vibe-light);
		border-radius: var(--radius-vibe);
		h4 {
			font: 700 2rem/normal var(--font-primary);
			text-transform: uppercase;
			padding-bottom: 1rem;
			margin-bottom: 2rem;
			position: relative;
			color: var(--color-vibe-light);
			&:before {
				content: "";
				width: 10rem;
				height: .2rem;
				background: var(--color-vibe-yellow-dark);
				position: absolute;
				bottom: 0;
				left: 50%;
				transform: translateX(-50%);
			}
		}
	}
	.glsr-label {
		text-align: left;
		span {
		font: 600 1.5rem/normal var(--font-primary);
		text-transform: uppercase;
		}
	}
}
/* FIN-FRONTPAGE */
/* FOOTER */
.footer {
	background: var(--color-vibe-black);
	text-align: center;
}

.footer__widgets {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 5rem;
	padding: 6rem 0;
	justify-content: space-between;
}

.footer__widgets p,
.footer__widgets a,
.footer__widgets li {
	text-align: left;
	text-decoration: none;
	color: var(--color-vibe-light);
	line-height: 2rem;
	margin-bottom: 1rem;
}

.footer__widgets > div {
	flex: 1 1 auto;
	flex-basis: auto;
	max-width: 35rem;
	min-width: auto;
	/* height: 100%; */
}

.footer__widgets h2 {
	font: 600 1.6rem / normal var(--font-primary);
	color: var(--color-vibe-yellow-dark);
	margin-bottom: 1.5rem;
	text-transform: uppercase;
	text-align: left;
}
.ico-link {
	position: relative;
	padding-left: 3rem;
	a {
		/* font-size: 1.6rem; */
	}
	&:before {
		content: "";
		width: 2.4rem;
		height: 2.4rem;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	&.ico-whatsapp:before {
		background: url(assets/images/ico-whatsapp.svg) no-repeat center center;
	}
	&.ico-map:before {
		background: url(assets/images/ico-map.svg) no-repeat center center;
	}
	&.ico-mail:before {
		background: url(assets/images/ico-mail.svg) no-repeat center center;
	}
	+ .ico-link {
		margin-top: 1.5rem;
	}
}

.footer__widgets > div:first-child figure img {
	width: 90% !important;
	margin-bottom: 5rem;
	max-width: 20rem;
}

.footer__copyright {
	background: var(--color-black);
	padding: 3rem 0;
}

.copyright__box {
	margin: 0 auto;
}

.copyright__box {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 2rem;
}

.copyright__box .credits img {
	height: 24px;
	padding: 0 5px;
}

.copy p {
	font-weight: 300;
	text-align: center;
	color: var(--color-vibe-light);
	font-size: 1.4rem;
}

.credits a {
	font-weight: 300;
	font-size: 10px;
	line-height: 27px;
	background: linear-gradient(to right, #bf1e63, #fc950f, #0b7ef0);
	background-size: 200% 200%;
	animation: rainbow 2s ease-in-out infinite;
	background-clip: text;
	-webkit-background-clip: text;
	color: #ffffff00;
	transition: color 0.2s ease-in-out;
	text-rendering: optimizeLegibility;
	display: inline-flex;
}

.credits a:hover {
	color: rgb(255 255 255);
}

@keyframes rainbow {
	0% {
		background-position: left;
	}

	50% {
		background-position: right;
	}

	100% {
		background-position: left;
	}
}

p.footer_social_icons {
	padding-top: 2rem;
	display: flex;
	justify-content: center;
	gap: 1.5rem;
}
.footer__widgets > div:last-child li {
	list-style: none;
}

.medios__pago img {
	display: inline-block;
	vertical-align: middle;
	padding: 0 2rem 2rem 0;
	box-sizing: content-box;
	max-height: 4.2rem;
	width: auto !important;
}

p.paymetns {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
    column-gap: .5rem;
    row-gap: 1rem;  
    img {
        width: 5rem !important;
        height: auto;
    }
}
/* FIN-FOOTER */
/* INTERNAS */
.header__innerpages {
	.header__nav {
		position: relative;
		background: linear-gradient(
			0deg,
			var(--color-vibe-dark-plus) 0%,
			var(--color-vibe-dark) 100%
		);
		top: 0;
		&:before {
			display: none;
		}
		.header__content {
			padding-bottom: 1rem;
			.header__logo {
				&:after {
					height: 6rem;
				}
				img {
					width: 7rem;
				}
			}
		}
	}
}

/* BLOG */
#breadcrumbs {
	padding: 2rem 0;
	a, span {
	font: 300 1.4rem/normal var(--font-primary);
	color: var(--blue);
	font-style: italic;
	}
	.breadcrumb_last {
	color: var(--color-vibe-green);
	font-weight: 400;
	}
}

.page-title {
	font: 600 3rem/normal var(--font-primary);
    text-align: center;
	text-transform: uppercase;
    margin-bottom: 20px;
    color: var(--color-vibe-dark-plus);
}

.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin: 0 auto;
    padding: 20px;
    max-width: 1200px;
	.blog-post {
		border: 1px solid #ddd;
		border-radius: 8px;
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
		transition: box-shadow 0.3s ease;
		&:hover {
			box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
		}
		h2 {
			line-height: 1.8rem;
			a {
			font: 800 1.8rem/normal var(--font-primary);
			margin: 10px 0;
			text-transform: uppercase;
			color: var(--color-vibe-dark-plus);
			}
		}
		p {
			text-align:justify;
			margin-bottom: .5rem;
			line-height: 2.2rem;
			small {
				color: var(--color-gray-3);
			}
		}
		.blog-text {
			padding: .5rem 1.5rem 1.5rem;
		}
		.post-image-link {
			display: block;
			img {
				width: 100%;
				height: auto;
				border-radius: var(--radius-vibe) var(--radius-vibe) 0 0;
				margin: 0;
			}
		}
		.read-more-link {
			display: inline-block;
			margin-top: 10px;
			color: var(--color-vibe-light);
			text-decoration: underline;
			background: var(--color-vibe-dark-plus);
			padding: .6rem 1.5rem;
			border-radius: var(--radius-vibe);
		}
	}
}

.pagination {
    display: flex;
    justify-content: center;
    margin: 20px 0;
	.page-numbers {
		color: #0073aa;
		padding: 8px 12px;
		margin: 0 5px;
		text-decoration: none;
		border: 1px solid #ddd;
		border-radius: 5px;
		transition: background-color 0.3s ease;
		&:hover {
			background-color: #f1f1f1;
		}
	}
	.current {
		background-color: #0073aa;
		color: #fff;
		border-color: #0073aa;
	}
}

@media (max-width: 768px) {
    .blog-grid {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------*/
.post-title {
    font-size: 2rem;
    margin: 20px 0;
    text-align: center;
    color: #333;
}

.post-date {
    text-align: center;
    color: #888;
    font-size: 0.9rem;
    margin-bottom: 20px;
}

.post-thumbnail img {
    width: 100%;
    max-height: 50rem;
    object-fit: cover;
    border-radius: 8px;
}

.post-content {
    font-size: 1.1rem;
    line-height: 1.6;
    color: #333;
}

.post-navigation {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
}

.nav-previous, .nav-next {
    font-size: 1rem;
    color: #0073aa;
    text-decoration: underline;
	&:hover {
		color: #005f8d;
	}
}

.pages {
    h2, h3, h4 {
        font-family: var(--font-primary);
        color: var(--color-vibe-dark-plus);
    }
    p {
        text-align: justify;
    }
	.post-date small {
		font-size: 1.2rem;
	}
}
/* FIN-INTERNAS */
/* ITINERARIOS */

.itinerarios__banner {
	width: 100%;
	margin: 0 auto;
	position: relative;
	.card__price {
		.card__price--from {
			font: 400 1.6rem/normal var(--font-primary);
			color: var(--color-vibe-light)
		}
		.card__price--amount {
			font: 700 2.8rem/normal var(--font-primary);
			color: var(--color-vibe-yellow-dark)
		}
	}
}

.slider__slide {
	width: 100%;
	height: 60rem;
}

.slider__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 1rem;
}

#slider__itinerario-mw {
	border-radius: var(--radius-vibe);
}

.itinerarios__highlights > div {
	position: relative;
	display: inline-block;
	margin: 0;
	padding-left: 4rem;
	flex-basis: 49%;
	&:last-child {
		margin-bottom: 0;
	}
	.caracteristica--tour p {
		margin: 0;
	}
}

.itinerarios__highlights > div::before {
	position: absolute;
	content: "";
	width: 3.2rem;
	height: 3.2rem;
	left: 0;
	top: 0.2rem;
	background: var(--color-vibe-light);
}

.caracteristica__duracion::before {
	-webkit-mask-image: url(assets/images/duration.svg); /* Máscara para navegadores WebKit */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url(assets/images/duration.svg); /* Máscara estándar */
	mask-repeat: no-repeat;
	mask-position: center;
}

.caracteristica__max-pax::before {
	-webkit-mask-image: url(assets/images/max-people.svg); /* Máscara para navegadores WebKit */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url(assets/images/max-people.svg); /* Máscara estándar */
	mask-repeat: no-repeat;
	mask-position: center;
}

.caracteristica__edad-minima::before {
	-webkit-mask-image: url(assets/images/min-age.svg); /* Máscara para navegadores WebKit */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url(assets/images/min-age.svg); /* Máscara estándar */
	mask-repeat: no-repeat;
	mask-position: center;
}
.caracteristica__tipo-tour::before {
	-webkit-mask-image: url(assets/images/category.svg); /* Máscara para navegadores WebKit */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url(assets/images/category.svg); /* Máscara estándar */
	mask-repeat: no-repeat;
	mask-position: center;
}
.caracteristica__destino::before {
	-webkit-mask-image: url(assets/images/destination.svg); /* Máscara para navegadores WebKit */
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-image: url(assets/images/destination.svg); /* Máscara estándar */
	mask-repeat: no-repeat;
	mask-position: center;
}

.itinerario-titulo {
	/* margin-bottom: 2rem; */
	padding-bottom: 2rem;
}

.itinerario-titulo h1 {
	font: 700 3rem / normal var(--font-primary);
	position: relative;
	display: block;
	width: 94%;
	margin: 0 auto;
	text-align: center;
	color: var(--color-vibe-dark-plus);
	line-height: 3rem;
	span {
		font-size: 2rem;
		text-transform: uppercase;
		font-weight: 700;
		position: relative;
		padding-top: 0.4rem;
		display: block;
		margin-top: 0.8rem;
		box-sizing: border-box;

		&:before {
			content: "";
			width: 20rem;
			height: 0.2rem;
			background: var(--color-vibe-green);
			position: absolute;
			top: 0;
			left: 50%;
			transform: translateX(-50%);
		}
	}
}
.itinerario-titulo span {
	/* color: var(--white); */
	/* font-size: 2.2rem; */
	/* font-family: var(--font-primary); */
	/* font-weight: 700; */
	/* display: block; */
	/* margin: .5rem 0 2rem 0; */
	letter-spacing: 0.15rem;
}

#slider__itinerario-ow {
	margin: 2rem 0 4rem;
}

.itinerarios__bestdestinations .besttours__card {
	flex: 1 0;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading {
	background: var(--dark);
	color: var(--white);
	text-transform: uppercase;
	font: 500 1.8rem var(--font-primary);
	text-align: center;
	padding: 1.5rem;
	border: none;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading--active,
.itinerary--content .responsive-tabs .responsive-tabs__heading--active:hover {
	background: var(--blue);
}

.itinerary--content .responsive-tabs .responsive-tabs__panel {
	padding-bottom: 30px;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading:after {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid var(--white);
	content: "";
	display: block;
	position: absolute;
	right: 1.2rem;
	top: 50%;
	transform: translate(-50%, -50%);
}

.itinerary--content .responsive-tabs .responsive-tabs__heading--active:after,
.itinerary--content
	.responsive-tabs
	.responsive-tabs__heading--active:hover:after {
	border-top: 0;
	top: 50%;
}

.itinerary--content .responsive-tabs .responsive-tabs__heading:hover {
	border: none;
}

.itinerary--content {
	width: 94%;
	h2 {
		font: 600 2.2rem var(--font-primary);
		color: var(--color-vibe-dark-plus);
		text-transform: uppercase;
	}
	div.wp-block-pb-accordion-item {
		padding: 1.5rem;
		margin-bottom: 0.5rem;
		border-bottom: solid 0.2rem
			color-mix(in srgb, var(--color-vibe-green) 40%, transparent);
		background: var(--color-vibe-light);
		border-radius: var(--radius-vibe);
	}
	.c-accordion__content h2 {
		color: var(--color-vibe-green-dark);
		font-size: 1.8rem;
	}
}

.itinerarios__bestdestinations h2 {
	color: var(--dark);
}

.itinerarios__box {
	margin-bottom: 5rem;
}

.itinerario-estracto {
	width: 90%;
	margin: 0 auto 3rem;
}

.pages__box,
.taxonomy_box {
	padding-top: 3rem;
}

aside.general_sidebar {
	width: 94%;
	margin: 0 auto;
}

.itinerarios__form {
	background: var(--color-vibe-black);
	border-radius: 1.2rem 1.2rem 0 0;
}

.itinerarios__form h4 {
	font: 400 2.4rem/2.5rem var(--font-primary);
	text-align: center;
	color: var(--color-white);
	padding: 2.4rem 1.8rem 2.2rem;

	span {
		text-transform: uppercase;
		font-size: 1.6rem;
		font-weight: 700;
	}
}

.itinerarios__form strong {
	font: 700 2rem / 2.4rem var(--font-primary);
	color: var(--color-white);
	text-transform: uppercase;
	letter-spacing: 0.1rem;
	display: block;
	text-align: center;
}

form.wpcf7-form {
	background: var(--color-vibe-light);
	padding: 1.5rem;
	border: solid 1px var(--gray-3);
	border-radius: 0 0 1rem 1rem;
	position: relative;
}

form.wpcf7-form span + span {
	display: block;
	margin-top: 0.7rem;
}

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="url"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="number"],
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-select,
.wpcf7 textarea {
	width: 100%;
	font: 300 1.8rem var(--font-primary);
	border-radius: 0.7rem;
}

.wpcf7 input,
.wpcf7 textarea {
	padding: 1.5rem;
	border: none;
	background-color: var(--color-white);
	letter-spacing: 1.2px;
	transition: 0.3s ease background, color;
	color: var(--gray-3);
	vertical-align: middle;
	border: solid 0.1rem var(--gray-2);
}

.wpcf7 ::placeholder {
	color: var(--gray-5);
}

.wpcf7 :focus {
	color: var(--gray-7);
	outline: 0;
}

.wpcf7 :focus::placeholder {
	color: var(--white);
}

.wpcf7 textarea {
	height: 150px;
	resize: none;
}

.wpcf7 input[type="submit"] {
	background: radial-gradient(
		88.34% 402.27% at 82.38% -13.87%,
		var(--color-vibe-green) 0%,
		var(--color-vibe-green-dark) 100%
	);
	color: var(--color-white);
	cursor: pointer;
	font-weight: 600;
	text-transform: uppercase;
	padding-top: 1.8rem;
	/*! border: solid 2px var(--blue); */
	transition: 0.5s;
	/* background: var(--green); */
}

.wpcf7 input[type="submit"]:hover {
	background: radial-gradient(
		88.34% 402.27% at 82.38% -13.87%,
		var(--color-vibe-green-dark) 0%,
		var(--color-vibe-green) 100%
	);
	color: var(--color-white);
	transition: 0.5s;
}

.wpcf7 span.wpcf7-list-item {
	margin: 0 0 10px 0;
}

.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-acceptance-missing {
	border: 5px solid var(--red);
	margin-top: -30px;
}

.wpcf7 span.wpcf7-not-valid-tip {
	color: var(--red);
	font-size: 12px;
	padding: 5px;
}

.wpcf7 .wpcf7-mail-sent-ok {
	border: 5px solid var(--white);
	margin-top: -30px;
}

span.wpcf7-spinner {
	position: absolute;
	bottom: 14px;
	right: 10px;
	height: 24px !important;
	margin: 0;
}

.itinerarios__form p {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: 1rem 1rem 0 0;
	background: radial-gradient(
		88.34% 402.27% at 82.38% -13.87%,
		var(--color-vibe-green) 0%,
		var(--color-vibe-green-dark) 100%
	);
	padding: 2.9rem 1.8rem 2.2rem;
}

/* FIN-ITINERARIOS */
/* PAGINAS */
.pages__box h1 {
	color: var(--dark);
}

.itinerarios__box section p {
	text-align: justify;
}

.pages__box .itinerary--content {
	margin-bottom: 6rem;
	width: 90%;
}

.pages__box p {
	text-align: justify;
}

.taxonomy_box {
	.category__cards {
		column-gap: unset;
		.besttours__card {
			width: 100%;
			&:before {
				padding-top: 150%;
			}
		}
	}
}

section.category__cards {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3rem;
	margin-bottom: 2rem;
}

.navigation__category {
	margin-bottom: 5rem;
}

/* FIN-PAGINAS */
/* --- Formulario de Contactanos --- */
.pages__box .wpcf7 input {
	border: 1px solid var(--color-gray-2);
	padding: 4px;
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.pages__box .wpcf7 textarea {
	padding: 4px;
	border: 1px solid var(--color-gray-2);
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
}

.pages__box .wpcf7 input[type="submit"] {
	border: none;
	padding: 4px 10px;
	-moz-border-radius: 6px;
	-khtml-border-radius: 6px;
	-webkit-border-radius: 6px;
	border-radius: 6px;
	background: var(--dark);
	color: var(--white);
	cursor: pointer;
}

.pages__box .wpcf7 span input,
.pages__box .wpcf7 span select,
.pages__box .wpcf7 span textarea {
	padding-left: 2%;
	padding-top: 15px;
	padding-bottom: 15px;
	margin-bottom: 0.4rem;
	font-family: var(--font-primary), sans-serif;
	width: 100%;
	font-weight: 300;
	font-size: 1.6rem;
	color: var(--color-gray-5);
	box-sizing: border-box;
	border-radius: 5px;
	border-color: var(--color-gray-3);
}

.pages__box form {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	background: none;
	padding: 0;
	border: none;
}

.pages__box form label {
	flex-basis: 100%;
}

.pages__box form .formT {
	flex-basis: 100%;
	text-align: left;
	font-size: 1.6rem;
	font-weight: 600;
	color: var(--color-vibe-dark);
	padding-bottom: 0.7rem;
	border-bottom: 1px solid var(--color-vibe-green);
	text-transform: uppercase;
	margin: 1rem 0;
}

.pages__box form p > label {
	width: 48%;
}

.pages__box .wp-block-contact-form-7-contact-form-selector {
	width: 100%;
	margin: 3rem auto;
}

.pages__box .wpcf7 input[type="submit"] {
	font-family: var(--font-primary), sans-serif;
	font-weight: 600;
	font-size: 1.6rem;
	color: #fff;
	border-radius: 4px;
	background: var(--color-vibe-green);
	text-transform: uppercase;
	text-align: center;
	width: max-content;
	transition: 0.2s ease-in-out;
	padding: 16px 18px;
	margin: 0 auto;
}

.pages__box .wpcf7 input[type="submit"]:hover {
	background: var(--color-vibe-green-dark);
	background-size: 200% 200%;
	animation: rainbow 2s ease-in-out infinite;
}

.pages__box form span {
	font-size: 1.6rem;
	font-weight: 400;
	padding-bottom: 0.5rem;
	color: var(--gray-7);
	display: block;
}

/* FIN-FORMULARIO */
/* SIDEBAR-PAGES */
.sidebar__pages > div:first-child {
	background: var(--white);
	border-radius: 0.5rem;
	padding: 3rem 1.5rem;
	text-align: center;
}

.sidebar__pages > div:first-child h3 {
	font: 700 3.4rem var(--font-secondary);
	color: var(--blue-dark);
}

.sidebar__pages > div:first-child > div {
	border-top: solid 1px var(--blue-dark);
	margin-top: 2rem;
	padding-top: 2rem;
}

.sidebar__pages > div:first-child .wp-block-button a {
	color: var(--gray-8);
	font: 400 1.8rem var(--font-primary);
	background: var(--background);
	border-radius: 0.5rem;
	border: solid 2px var(--blue-dark);
	width: 100%;
}

.sidebar__pages > div:first-child .wp-block-buttons {
	gap: 1.5rem;
	margin-top: 2rem;
}

.sidebar__pages > div:first-child .wp-block-button {
	width: 100%;
	position: relative;
}

.sidebar__pages > div:first-child .wp-block-button:nth-child(1):before {
	content: "";
	position: absolute;
	width: 1.8rem;
	height: 2.8rem;
	left: 89px;
	top: 0;
	bottom: 0;
	background: url(assets/images/green-phone.svg) no-repeat center;
	margin: auto;
}

.sidebar__pages > div:first-child .wp-block-button:nth-child(2):before {
	content: "";
	position: absolute;
	width: 2.8rem;
	height: 2.8rem;
	left: 51px;
	top: 0;
	bottom: 0;
	background: url(assets/images/green-wa.svg) no-repeat center;
	margin: auto;
}

/* FIN-SIDEBAR-PAGES */
/* HIGHTLIGHTS */
.itinerarios__highlights {
	display: flex;
	flex-wrap: wrap;
	background: rgba(44, 66, 96, 0.7);
	border-radius: 0 0 var(--radius-vibe) var(--radius-vibe);
	padding: 1.5rem 0.7rem 1rem;
	width: 100%;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	backdrop-filter: blur(7px);
	justify-content: space-between;
	column-gap: 2%;
	row-gap: 1rem;
}

.itinerarios__highlights h4 {
	font: 500 1.4rem var(--font-primary);
	color: var(--color-vibe-light);
}

.itinerarios__highlights p,
.itinerarios__highlights a,
.itinerarios__highlights span {
	font: 700 1.6rem var(--font-primary);
	color: var(--color-vibe-light);
	line-height: normal;
	text-align: left;
}
/* FIN-HIGHLIGHTS */

.grecaptcha-badge {
	display: none !important;
}

.c-accordion__title::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(
		-50%
	); /* Ajusta la posiciÃ³n vertical al centro del contenedor */
	width: 0.9rem;
	height: 0.8rem;
	background-color: var(--color-vibe-green);
	mask-image: url(assets/images/faq-arrow.svg);
	-webkit-mask-image: url(assets/images/faq-arrow.svg);
	mask-size: cover;
	-webkit-mask-size: cover;
	transform-origin: center; /* Asegura que la rotaciÃ³n ocurra en el centro del Ã­cono */
	transition: transform 0.3s ease;
	display: inline-block;
}

.is-open > .c-accordion__title::after {
	background-color: var(--color-vibe-dark);
	transform: rotate(210deg) translateY(35%) translateX(35%);
	transition: transform 0.3s ease;
}

.c-accordion__content {
	padding-top: 2rem;
	margin-top: 1rem;
	border-top: solid 0.1rem var(--color-vibe-dark);
}

/** REVIEWS **/
.single-review {
	color: var(--color-vibe-light);
	text-align: center;
	.glsr-review-title h4 {
		font: 400 2rem / normal var(--font-primary);
		font-style: italic;
		color: var(--color-vibe-light);
	}
	p {
		color: var(--color-vibe-light);
	}
	.glsr-review-rating,
	.glsr-review-date,
	.glsr-review-author {
		display: flex;
		flex: 100%;
		justify-content: center;
	}
	.glsr-review-author .glsr-tag-value {
		font: 400 1.7rem / normal var(--font-primary);
		color: #f6bd60;
	}
}

.itinerario__reviews {
	width: 90%;
	margin: 0 auto 3rem;
	h2 {
		font: 600 2.2rem var(--font-primary);
		color: var(--color-vibe-dark-plus);
		text-transform: uppercase;
	}
	.glsr-summary {
		font-size: 1.6rem;
		padding: 2rem 0;
		font-family: var(--font-primary);
		font-weight: 300;
	}

	.glsr-reviews {
		h4 {
			font: 600 1.8rem / normal var(--font-primary);
			font-style: italic;
		}
		.glsr-review-date,
		.glsr-review-author {
			font-size: 1.4rem;
		}
		p {
			text-align: left;
			font-style: italic;
		}
	}

	.glsr-default form.glsr-form {
		label.glsr-label {
			font: 600 1.5rem / normal var(--font-primary) !important;
		}
		input.glsr-input,
		select.glsr-select,
		textarea.glsr-textarea {
			font: 400 1.6rem / normal var(--font-primary) !important;
		}
		.glsr-toggle label {
			font: 400 1.3rem / normal var(--font-primary) !important;
		}
		.wp-block-button__link {
			background: radial-gradient(
				88.34% 402.27% at 82.38% -13.87%,
				var(--color-vibe-green) 0%,
				var(--color-vibe-green-dark) 100%
			);
			color: var(--color-white);
			cursor: pointer;
			text-transform: uppercase;
			border: none;
			font: 700 1.8rem var(--font-primary);
		}
	}
}

/** FIN REVIEWS **/

/* LIGHTBOX FORMULARIO */
#lightboxForm {
	display: none; /* Oculto por defecto */
	opacity: 0;
	transition: opacity 0.5s ease; /* Transición suave de 0.5 segundos */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8); /* Fondo oscuro semi-transparente */
	align-items: center;
	justify-content: center;
	z-index: 999;
	&.show {
		display: flex; /* Muestra el lightbox */
		opacity: 1; /* Totalmente visible */
	}
	.lightbox-content {
		border-radius: 8px;
		width: 95%;
		max-width: 500px;
		position: relative;
		.close-btn {
			position: absolute;
			top: 10px;
			right: 10px;
			font-size: 2.3rem;
			font-weight: 900;
			line-height: 2.8rem;
			cursor: pointer;
			color: var(--color-vibe-dark);
			background: var(--color-vibe-yellow);
			border-radius: 50%;
			padding: 0.05rem 0.8rem 0.15rem 0.8rem;
			z-index: 2;
		}
	}
}

/* FIN - LIGHTBOX FORMULARIO */