/* Custom CSS */

/* Example: Override main section background color. */
/* body .jupiterx-main {
    background-color: gray;
} */

@import url('./css/google-fonts.css');

.post-header img {
    width: 100%;
}

.izibox {
    margin-top: 66px;
}


.mtfrontage-blog-card h4 a {
	color: inherit;
	text-decoration: none;
}

.mtfrontage-blog-card h4 a:hover {
	color: var(--primary-color);
}

.mtfrontage-readmore {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
}

.mtfrontage-readmore:hover {
	transform: translateX(4px);
}

.mtfrontage-img img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	display: block;
}

main.mpt-single-post h1 {
    color: white !important;
}





/* ===== ELEGANT CATEGORY GRID ===== */
.mtfrontage-category-header {
    margin-bottom: 3rem;
    text-align: center;
}

.mtfrontage-category-title {
    font-size: 2.5rem;
    font-weight: 700;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.mtfrontage-category-desc {
    color: #6c757d;
    font-size: 1.1rem;
    max-width: 600px;
    margin: 0 auto;
}

/* Tarjeta de Post */
.mtfrontage-post-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    display: flex;
    flex-direction: column;
    border: 1px solid rgba(0,0,0,0.03);
}

.mtfrontage-post-card:hover {
    transform: translateY(-8px);
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.08);
}

/* Contenedor de Imagen */
.mtfrontage-card-img-wrap {
    position: relative;
    overflow: hidden;
    aspect-ratio: 3/2; /* Mantiene proporción uniforme */
}

.mtfrontage-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.mtfrontage-post-card:hover .mtfrontage-card-img-wrap img {
    transform: scale(1.05); /* Efecto zoom suave */
}

/* Etiqueta de Categoría Flotante */
.mtfrontage-card-badge {
    position: absolute;
    top: 15px;
    left: 15px;
    background: rgba(255, 255, 255, 0.95);
    color: #000;
    padding: 0.4rem 1rem;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 30px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 2;
}

/* Cuerpo de la Tarjeta */
.mtfrontage-card-body {
    padding: 1.8rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.mtfrontage-card-meta {
    font-size: 0.85rem;
    color: #95a5a6;
    margin-bottom: 0.8rem;
    display: flex;
    align-items: center;
    gap: 10px;
}

.mtfrontage-card-title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 1rem;
}

.mtfrontage-card-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mtfrontage-card-title a:hover {
    color: #0d6efd; /* Color de acento (ajustable) */
}

.mtfrontage-card-excerpt {
    color: #555;
    font-size: 0.95rem;
    line-height: 1.6;
    margin-bottom: 1.5rem;
    flex-grow: 1; /* Empuja el botón hacia abajo */
}

/* Botón Read More */
.mtfrontage-card-link {
    font-size: 0.9rem;
    font-weight: 600;
    color: #1a1a1a;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    transition: gap 0.3s ease, color 0.3s ease;
    margin-top: auto;
}

.mtfrontage-card-link i {
    font-size: 0.8rem;
    transition: transform 0.3s ease;
}

.mtfrontage-card-link:hover {
    color: #0d6efd;
    gap: 12px; /* Flecha se desplaza al hacer hover */
}





/* ============================================
   Category Page - Minimal & Elegant
   ============================================ */

.mtfrontage-category-section {
    background-color: #fafafa;
    padding: 5rem 0;
    color: #1a1a1a;
    line-height: 1.6;
}

/* ---------- Header ---------- */
.mtfrontage-category-header {
    text-align: center;
    margin-bottom: 4rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #e5e5e5;
}

.mtfrontage-category-title {
    font-size: clamp(2rem, 4vw, 2.75rem);
    font-weight: 300;
    letter-spacing: 0.5px;
    color: #1a1a1a;
    margin: 0 0 1rem 0;
    text-transform: uppercase;
}

.mtfrontage-category-title::after {
    content: "";
    display: block;
    width: 40px;
    height: 1px;
    background-color: #1a1a1a;
    margin: 1.25rem auto 0;
}

.mtfrontage-category-desc {
    max-width: 600px;
    margin: 0 auto;
    font-size: 0.95rem;
    color: #666;
    font-weight: 300;
}

.mtfrontage-category-desc p {
    margin: 0;
}

/* ---------- Post Card ---------- */
.mtfrontage-post-card {
    background-color: #ffffff;
    border: 1px solid #ececec;
    height: 100%;
    display: flex;
    flex-direction: column;
    transition: border-color 0.3s ease, transform 0.3s ease;
}

.mtfrontage-post-card:hover {
    border-color: #1a1a1a;
    transform: translateY(-2px);
}

/* ---------- Card Image ---------- */
.mtfrontage-card-img-wrap {
    overflow: hidden;
    position: relative;
    aspect-ratio: 16 / 10;
    background-color: #f0f0f0;
}

.mtfrontage-card-img-wrap a {
    display: block;
    width: 100%;
    height: 100%;
}

.mtfrontage-card-img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease, filter 0.4s ease;
    filter: grayscale(10%);
}

.mtfrontage-post-card:hover .mtfrontage-card-img-wrap img {
    transform: scale(1.04);
    filter: grayscale(0%);
}

/* ---------- Card Body ---------- */
.mtfrontage-card-body {
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.mtfrontage-card-meta {
    font-size: 0.75rem;
    color: #999;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 1rem;
    font-weight: 400;
}

.mtfrontage-card-meta i {
    margin-right: 0.4rem;
    font-size: 0.7rem;
}

.mtfrontage-card-title {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0 0 1rem 0;
    letter-spacing: 0.2px;
}

.mtfrontage-card-title a {
    color: #1a1a1a;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mtfrontage-card-title a:hover {
    color: #666;
}

.mtfrontage-card-excerpt {
    font-size: 0.9rem;
    color: #666;
    line-height: 1.7;
    margin: 0 0 1.5rem 0;
    font-weight: 300;
    flex-grow: 1;
}

/* ---------- Read More Link ---------- */
.mtfrontage-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: #1a1a1a;
    text-decoration: none;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 500;
    padding-top: 1rem;
    border-top: 1px solid #ececec;
    transition: gap 0.3s ease, color 0.3s ease;
    align-self: flex-start;
    width: 100%;
}

.mtfrontage-card-link:hover {
    color: #000;
    gap: 0.85rem;
}

.mtfrontage-card-link i {
    font-size: 0.7rem;
    transition: transform 0.3s ease;
}

.mtfrontage-card-link:hover i {
    transform: translateX(3px);
}

/* ---------- Empty State ---------- */
.mtfrontage-category-section .lead {
    font-weight: 300;
    color: #999;
    font-size: 1rem;
    letter-spacing: 0.5px;
}

/* ---------- Pagination ---------- */
.mtfrontage-pagination-wrap {
    margin-top: 4rem !important;
    padding-top: 2.5rem;
    border-top: 1px solid #e5e5e5;
}

.mtfrontage-pagination-wrap .pagination,
.mtfrontage-pagination-wrap .nav-links {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
}

.mtfrontage-pagination-wrap .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 0.85rem;
    color: #666;
    text-decoration: none;
    font-size: 0.85rem;
    font-weight: 400;
    letter-spacing: 0.5px;
    border: 1px solid #e5e5e5;
    background-color: #fff;
    transition: all 0.3s ease;
}

.mtfrontage-pagination-wrap .page-numbers:hover {
    border-color: #1a1a1a;
    color: #1a1a1a;
}

.mtfrontage-pagination-wrap .page-numbers.current {
    background-color: #1a1a1a;
    color: #fff;
    border-color: #1a1a1a;
}

.mtfrontage-pagination-wrap .page-numbers.dots {
    border: none;
    background: transparent;
}

.mtfrontage-pagination-wrap .prev,
.mtfrontage-pagination-wrap .next {
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
    gap: 0.5rem;
}

.mtfrontage-pagination-wrap .prev i,
.mtfrontage-pagination-wrap .next i {
    font-size: 0.7rem;
}

/* ---------- Responsive ---------- */
@media (max-width: 768px) {
    .mtfrontage-category-section {
        padding: 3rem 0;
    }

    .mtfrontage-category-header {
        margin-bottom: 2.5rem;
        padding-bottom: 2rem;
    }

    .mtfrontage-card-body {
        padding: 1.5rem;
    }

    .mtfrontage-pagination-wrap {
        margin-top: 2.5rem !important;
    }

    .mtfrontage-pagination-wrap .page-numbers {
        min-width: 36px;
        height: 36px;
        font-size: 0.8rem;
    }
}


.Zebra_DatePicker {
    position: inherit !important;
    width: 100% !important;
    border: 0px !important;
    box-shadow: none !important;
}

.Zebra_DatePicker .dp_header .dp_previous, .Zebra_DatePicker .dp_header .dp_next {
    font-size: 25px;
    color: #282828;
}

.Zebra_DatePicker .dp_header .dp_previous, .Zebra_DatePicker .dp_header .dp_next {
    font-size: 25px;
    color: #282828;
}

.Zebra_DatePicker table {
    margin-top: 0;
    width: 100%;
    border-collapse: collapse;
    background-color: #fff;
    color: #282b2f;
    line-height: 1.5;
    border-radius: 4px;
    box-shadow: none;
    overflow: hidden;
    margin-bottom: 30px;
}

.Zebra_DatePicker .dp_actions .dp_caption {
    font-size: 1.3rem !important;

}

.resultados {
    font-size: 0.85rem !important;
}

.Zebra_DatePicker table tr:hover {
    background-color: #ffffff;
}

.Zebra_DatePicker table th {
    background-color: #fff;
    color: #000;
    font-weight: bold;
    padding: 10px;
    text-align: left;
}

.Zebra_DatePicker table td, table th {
    font-size: 1.1rem;
    padding: 5px !important;
    vertical-align: top;
    border: 1px solid transparent !important;
}

/* Estilo base de la tabla */
.Zebra_DatePicker table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--mpr-font-body);
}

/* Encabezado de la tabla */
.Zebra_DatePicker table th {
    background-color: #fff;
    color: #000;
    font-weight: bold;
    padding: 10px;
    text-align: left;
}

/* Filas impares con un fondo gris claro */
.Zebra_DatePicker table tr:nth-child(odd) {
    background-color: #fff;
}

/* Filas pares con un fondo blanco */
.Zebra_DatePicker table tr:nth-child(even) {
    background-color: #fff;
}

/* Estilo en hover */
.Zebra_DatePicker table tr:hover {
    background-color: #fff;
}


.Zebra_DatePicker td {
    padding: 5px;
    font-size: 0.8rem;
}

.Zebra_DatePicker .dp_body .dp_selected {
    background: #025833 !important;
    color: #fff;
}


.btn-block {
    width: 100% !important;
}

.container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    max-width: 1440px !important;
}


h2.accordion-header-responsive {
    font-size: 1rem !important;
    margin-bottom: 0;
    margin-top: 0;
    background-color: green !important;
    color: white !important;
    padding: 10px;
    border-radius: 5px;
}

.accordion-item-responsive {
    margin-bottom: 5px;
}

a.btn-reservations {
    width: 100%;
}




.slider-tour {
    opacity: 0;
    transition: all 300ms;
    height: 600px;
}

.slider-tour.slick-initialized {
    opacity: 1;
    height: 100%;
}


.post-header {
    position: relative;
}

.post-header h1 {
    left: -35px;
    width: 100%;
    position: absolute;
    bottom: 30%;
    z-index: 9999999;
    color: white;
    text-align: center;
    font-size: 2rem;
    text-shadow: 0 0 11px black;
}


.jupiterx-corner-buttons.jupiterx-scrolled {
    display: none;
}

.main_header {
    position: absolute !important;
    z-index: 9;
    width: 100%;
}


.phone {
    text-align: center;
}

h2.title_tour {
    font-family: var(--mpr-font-heading);
}


.phone a {
    color: grey;
}


.slick-slide img {
    width: 100%;
}

.title-page-desktop img {
    width: 100%;
}


.tour-card h5 {
    font-family: var(--mpr-font-heading);
}


/* Estilo base de la tabla */
table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--mpr-font-body);
}

/* Encabezado de la tabla */
table th {
    font-weight: bold;
    padding: 10px;
    text-align: left;
}

/* Filas impares con un fondo gris claro */
table tr:nth-child(odd) {
    background-color: #f2f2f2;
}

/* Filas pares con un fondo blanco */
table tr:nth-child(even) {
    background-color: #fff;
}

/* Estilo en hover */
table tr:hover {
    background-color: #ddd;
}


.icono_tab {
    display: none;
}


.read-more__link {
    margin-bottom: 18px;
    display: block;
    color: #ffd715 !important;
    font-weight: 600;
    text-decoration: underline !important;
    text-transform: uppercase;
}


.accordion-button::after {
    background-image: url(../../images/down-arrow.svg) !important;
}

button.accordion-button {
    font-family: var(--mpr-font-heading);
}


.raven-nav-menu-toggle-button > .fa-bars {
    color: #ffd715;
}

.raven-nav-menu-dropdown {
    padding: 0 !important;
    background-color: #fafafa;
}


.megamenu ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.short_price {
    column-count: 2;
}

.megamenu li {
    margin-bottom: 5px;
    margin-top: 5px;
    border-bottom: 1px solid #dddddd;
    padding-bottom: 5px;
}

.jet-menu div.jet-sub-mega-menu {
    overflow: hidden;
}

.main-content {
    margin-top: 15px;
    background-color: #fdfdfd;
}

.main_header {
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(180deg, rgba(0, 0, 0, 0.7206232834930848) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(180deg, rgba(0, 0, 0, 0.7206232834930848) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.7206232834930848) 0%, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}

.header-container {
    overflow: hidden;
    width: 100%;
}

.nav-tour-slide {
    margin: 5px;
    padding: 0;
    overflow: hidden;
}

.slider-nav {
    padding-bottom: 10px;
    margin-bottom: -90px;
    top: -90px;
}

.label {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 5px;
}

.box_detail img {
    width: 20px;
    margin-top: -10px;
}

.box_detail {
    padding-bottom: 5px;
    border-bottom: 1px solid #d2d2d2;
    margin-bottom: 20px;
}

.label-detail {
    line-height: 1;
}

.detalles {
    background-color: #ffffff;
    padding: 5px;
}

.main_details .label-detail {
    margin-bottom: 5px;
    display: block;
}

.main_details {
    border-top: 1px solid #c7c7c7;
    padding-top: 15px;
}

.main_details img {
    width: 25px;
    margin-right: 10px;
}

.intro_tour {
    box-shadow: 0 5px 9px #00000026;
    padding-bottom: 15px;
    padding-top: 15px;
    margin-bottom: 30px;
}

.places_data {
    margin-top: -5px;
    line-height: 1.4;
    font-size: 0.7rem !important;
    margin-left: 40px;
}

.nav-tour-slide img {
    transform: scale(1);
    transition: all 600ms;

}

.main_details .label-detail {
    font-size: 0.9rem;
    margin-bottom: 15px;
    display: block;
}

.amount {
    line-height: 1;
    font-size: 2rem;
    font-family: var(--mpr-font-heading);
    font-weight: 600;
}

span.usd_label {
    font-size: 1.6rem;
}

span.places {
    font-weight: 700;
}

.box_price {
    text-align: center;
}

.box_price .label {
    font-size: 0.8rem;
    text-transform: uppercase;
    color: #9c9c9c;
}

.data_label {
    margin: 0;
    line-height: 1;
    font-size: 0.9rem;
}


.level_icon img {
    height: 30px !IMPORTANT;
}

.nav-tour-slide img:hover {
    transform: scale(1.2);
    cursor: pointer;
}

.slick-prev:before, .slick-next:before {
    color: black !important;
}

.phones {
    background-color: #025833;
    font-weight: 600;
    border-radius: 5px;
    border: 0px solid grey;
    padding: 10px;
    line-height: 1.3;
    color: white;
}

.phones .btn-call {
    background-color: #ffd715 !important;
    color: #025833 !important;
    font-weight: 700;
}

.btn-call {
    background-color: #142838 !important;
    color: #fff !important;
    border: none;
    border-radius: 4rem !important;
    font-weight: 600;
    text-transform: uppercase;
    padding: 1.5rem 3rem;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-call:hover {
    background-color: #305a7c !important;
}


.label_duration {
    background: #ffffffd4;
    width: fit-content;
    padding: 5px 10px;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 5px;
    text-transform: uppercase;
}

.sites_to_visir {
    margin-top: 0;
    color: #979797;
}

.box-price p {
    margin-bottom: 0;
}

.title-box h1 {
    font-size: 2.6rem;
    color: white;
    text-shadow: 0 0 10px black;
    font-weight: 800;
    margin-bottom: 30px;
}

.accordion-collapse h2 {
    font-size: 1.2rem;
    font-weight: 700;
}

.titulo_dia h2 {
    font-size: 1rem;
}

.subheader {
    background-color: #f4f4f4;
}


.megamenu-center ul li a {
    padding: 0;
    list-style-type: none;
}

.megamenu-center ul li a {
    font-size: 0.85rem;
    margin-bottom: -1px;
    border-top: 1px solid #e8e8e8;
    padding-bottom: 5px;
    border-bottom: 1px solid #e8e8e8;
    color: #015933;
    display: block;
    padding-top: 5px;
    line-height: inherit;
}

.megamenu-center ul li a:hover {
    background-color: #fbfbfb;
}



.imagem_principal {
    position: relative;
    overflow: hidden;
}

.trip_style {
    -webkit-border-top-right-radius: 5px;
    -webkit-border-bottom-right-radius: 5px;
    -moz-border-radius-topright: 5px;
    -moz-border-radius-bottomright: 5px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
    position: absolute;
    top: 10px;
    background-color: #015933;
    color: white;
    padding: 5px 10px;
    font-size: 12px;
}

.detalles-card {

}

.detalles_card {
    font-size: 0.9rem;
    margin-top: 10px;
    margin-bottom: 10px;
}


.tour-card .card-title {
    min-height: 55px;
    font-weight: 700;
    text-align: center;
}

.detalles-inner {
    border-bottom: 1px solid #edededc9;
    border-top: 1px solid #edededc9;
    font-size: 0.9rem;
    padding: 5px 15px;
    border-radius: 0;
    color: black;
}

.btn-block {
    width: 100%;
}

.box_price .data_label {
    padding: 15px;
}

.btn-reservations {
    text-transform: uppercase;
    border: 2px solid #015933 !important;
    border-radius: 0 !important;
    color: white !important;
    transition: all 500ms !important;
    background-color: #015933 !important;
}

.btn-orange {
    text-transform: uppercase;
    border: 2px solid #ffd715 !important;
    border-radius: 15px !important;
    color: white !important;
    transition: all 500ms !important;
    background-color: #ffd715 !important;
}

.btn-orange:hover {
    text-transform: uppercase;
    border: 2px solid #ffd715 !important;
    border-radius: 15px !important;
    color: #ffd715 !important;
    transition: all 500ms !important;
    background-color: rgba(255, 215, 21, 0) !important;
}


.title-phone a {
    color: white !important;
    transition: all 500ms;
}

.title-phone a:hover {
    color: #ffd715 !important;
}

p.tour-card-text {
    line-height: 1.2;
    text-align: center;
    min-height: 38px;
    margin-bottom: 7px;
    font-size: 0.8rem;
    color: grey;
    margin-top: 10px;
}

.btn-reservations:hover {
    text-transform: uppercase;
    border: 2px solid #015933 !important;
    border-radius: 0 !important;
    color: #015933 !important;
    background-color: white !important;
}

span.icon_in svg {
    width: 30px;
    margin-top: -8px;
}

.included h4 {
    font-size: 1.3rem;
    font-weight: 700;
    text-transform: uppercase;
}


.no-included h4 {
    font-size: 1.3rem;
    font-weight: 700;
    text-transform: uppercase;
}

.btn-reservations-2 {
    text-transform: uppercase;
    border: 2px solid #ffd715 !important;
    border-radius: 0 !important;
    color: #015933 !important;
    transition: all 500ms !important;
    background-color: #ffd715 !important;
}

.btn-reservations-2:hover {
    text-transform: uppercase;
    border: 2px solid #ffd715 !important;
    color: #000000 !important;
    background-color: #ffd715 !important;
}


.tour-card .card-body {
    padding: 5px 0 0 0;
}

p.price_from {
    margin-bottom: 0;
}

.price_from {
    line-height: 1;
}

.from_label {
    font-weight: 700;
    font-size: 0.8rem;
}

span.pperson {
    font-size: 0.8rem;
}

.from_amount {
    font-weight: 700;
    font-size: 1.5rem;
}

.tour-card {
    border-radius: 0 !important;
    overflow: hidden;
    padding: 10px;
    transition: all 400ms;
}


.tour-card:hover {
    box-shadow: 0 .25rem .50rem rgba(0, 0, 0, .4) !important;
}


.tour-card img {
    border-radius: 10px;
    transform: scale(1);
}


.tour-card:hover img {
    transform: scale(1.2);

}

.tour-card .card-title {
    min-height: 65px;
    font-weight: 700;
}

.tour-card .card-footer {
    transition: all 200ms;
}

.tour-card .card-footer:hover {
    background-color: #d9d9d9;
}


.tour-card img {
    transition: all 700ms;
}

.feat_image {
    overflow: hidden;
}

.box_menu {
    z-index: 9;
    position: sticky;
    top: 0px;
}

.jupiterx-main-content a {
    transition: all 200ms;
}

.jupiterx-main-content a:hover {

}

span.label_from {
    font-size: 1.2rem;
}

.header-container {
    position: relative;
}

.tour-heading {
    width: 100%;
    position: absolute;
    bottom: 0;
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0.7206232834930848) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0.7206232834930848) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.7206232834930848) 0%, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}

.adicional {
    color: white;
}

.main_details {
    text-align: left !important;
}

.initial-nav ul {
    margin: 0;
    color: white;
    list-style: none;
    padding: 0;
}

.initial-nav ul li {
    display: inline;
}

.adicional {
    margin-bottom: 30px;
}

.initial-nav {
    margin-bottom: 10px;
    margin-top: 5px;
}

.initial-nav a {
    padding-left: 10px;
    padding-right: 10px;
    border-bottom: 2px solid white;
    padding-bottom: 5px;
    transition: all 300ms;
}

.initial-nav a:hover {
    border-bottom-color: #ffd715;
    color: #ffd715 !important;
}

.initial-nav a {
    color: white !important;
}

.tour-content h2 {
    font-size: 1.6rem;
    text-transform: uppercase;
    padding-left: 15px;
    border-left: 5px solid #006633;
    position: relative;
}

.trip_details ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.trip_details li {
    margin-bottom: 10px;
    font-size: 0.9rem;
    border-left: 1px solid #d1d1d17d;
    transition: all 300ms;
    padding-left: 5px;
}

.trip_details li:hover {
    background-color: #f6f6f6;
    border-left: 1px solid rgba(150, 150, 150, 0.49);
}


/* Estilos efecto portada */
.owl-theme .owl-nav .owl-prev {
    float: left
}

.jupiterx-main-content {
    padding: 0 !important;
    word-wrap: break-word;
}

.text-mr {
    font-size: 0.9rem;
}

.gocard {
    border-radius: 15px;
    overflow: hidden;
}


.gocard img {
    opacity: 0.8;
    transition: all 300ms;
}

.gocard img:hover {
    transform: scale(1.2);
    opacity: 1;
}


.gocard {
    background-color: black;
    position: relative;
}

.gocard .duracion {
    font-size: 0.85rem;
    left: 10px;
    font-weight: 700;
    position: absolute;
    top: 10px;
    color: white;
    padding: 5px 10px;
    border: 1px solid white;
    border-radius: 10px;
    background-color: #00000014;
}

.gocard .style {
    background-color: #00000014;
    font-size: 0.85rem;
    right: 10px;
    font-weight: 700;
    position: absolute;
    top: 10px;
    color: white;
    padding: 5px 10px;
    border: 1px solid white;
    border-radius: 10px;
}

.gocard .content {
    position: absolute;
    bottom: 0;
    color: white;
    padding: 15px;
    width: 100%;
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0.5690651260504201) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0.5690651260504201) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5690651260504201) 0%, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}

.gocard .adicional {
    color: #ffd715;
    font-size: 0.9rem;
    line-height: 1;
}

.gocard .deta .tour-card-text {
    color: white;
    line-height: 1.2;
}


.room2-carousel .owl-nav {
    position: absolute;
    top: 46%;
    width: 100%;
    opacity: .8;
    transition: opacity .2s ease
}

.room2-carousel:hover .owl-nav {
    opacity: 1
}

.room2-carousel .owl-prev {
    position: absolute;
    left: 25px
}

.room2-carousel .owl-next {
    position: absolute;
    right: 25px
}

.room-image-wrapper, .room-item, .room2-carousel .room-item {
    position: relative
}

.room-content-wrapper, .room2-carousel .room-content-wrapper {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    padding: 30px
}

.room-content-wrapper .overlay, .room2-carousel .room-content-wrapper .overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgb(0 0 0 / 16%);
    transition: all .3s ease
}

.room-content-wrapper:hover .overlay, .room2-carousel .room-content-wrapper:hover .overlay {
    background-color: rgba(150, 122, 80, .7)
}

.room-title, .room2-carousel .room-title {
    top: 40%;
    position: relative;
    text-align: center;
    display: block;
    transition: all .3s ease
}

.room-content-wrapper:hover .room-title, .room2-carousel .room-content-wrapper:hover .room-title {
    top: 15%
}

.room-title h3, .room2-carousel .room-title h3 {
    color: #fff
}

.room-price-wrapper, .room2-carousel .room-price-wrapper {
    position: absolute;
    bottom: 45px;
    text-align: center;
    left: 0;
    right: 0
}

.room-price-wrapper del, .room2-carousel .room-price-wrapper del {
    display: none
}

.room-price-wrapper ins, .room2-carousel .room-price-wrapper ins {
    text-decoration: none
}

.room-price, .room2-carousel .room-price {
    border: 2px solid #ffffff;
    border-radius: 3px;
    color: #ffffff;
    display: inline-block;
    letter-spacing: .1rem;
    padding: 14px 36px;
    text-transform: uppercase;
    font-family: var(--mpr-font-body);
    font-weight: 500;
    font-size: 1.125rem;
    transition: all .3s ease;
}

.room-content-wrapper:hover .room-price, .room-price.style-2, .room2-carousel .room-content-wrapper:hover .room-price, .room2-carousel .room-price.style-2 {
    background-color: #907650;
    border-color: #907650;
    color: #fff
}

.room-excerpt, .room2-carousel .room-excerpt {
    position: relative;
    top: 22%;
    opacity: 0;
    transition: opacity .3s ease
}

.room-content-wrapper:hover .room-excerpt, .room2-carousel .room-content-wrapper:hover .room-excerpt {
    opacity: 1
}

.room-excerpt p, .room2-carousel .room-excerpt p {
    color: #fff;
    text-align: center
}

.room-image-wrapper .secondary {
    position: absolute;
    bottom: 35px
}

.event2-carousel {
    padding-right: 35px
}

@media only screen and (max-width: 992px) {
    .event2-carousel {
        padding-right: 0
    }
}

.event2-carousel .owl-stage-outer {
    margin-bottom: 35px
}

.event2-carousel .event-image-button-wrapper {
    position: relative
}

.event2-carousel .event-image-arrow {
    border-bottom: 10px solid #fff;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    bottom: 0;
    height: 0;
    margin-left: 65px;
    position: absolute;
    width: 0
}

.event2-carousel .event-image-button {
    background-color: #967a50;
    color: #fff;
    font-size: 1rem;
    padding: 15px 0;
    text-align: center;
    width: 60px;
    position: absolute;
    right: 0;
    bottom: 0
}

.event2-carousel .event-date-wrapper {
    border: 1px solid #d2d2d2;
    color: #967a50;
    line-height: 1;
    padding: 10px 15px;
    pointer-events: none;
    margin-top: 1px;
    max-width: 120px;
    width: 27%;
    float: left
}

.event2-carousel .event-date-wrapper .inner-wrapper .event-month {
    font-family: var(--mpr-font-body);
    font-size: .9rem !important;
    font-weight: 400;
    text-align: center;
    padding-bottom: 12px;
    border-bottom: 1px solid #d2d2d2
}

.event2-carousel .event-date-wrapper .inner-wrapper .event-day {
    font-family: var(--mpr-font-body);
    font-weight: 300;
    font-size: 3.375rem !important;
    text-align: center;
    margin-top: 6px
}

.event2-carousel .event-title-wrapper {
    margin-top: 40px;
    margin-bottom: 40px
}

.event2-carousel .event-title-wrapper .event-title {
    max-width: 73%;
    padding-left: 15px;
    float: left
}

.event2-carousel .event-title-wrapper .event-title h3, .event2-carousel .event-title-wrapper .event-title h3 a {
    color: #0f2453;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
    margin: 0;
    padding: 0
}

.event2-carousel .event-excerpt {
    float: left
}

.event2-carousel.owl-theme .owl-controls .owl-nav .owl-next:hover:after, .event2-carousel.owl-theme .owl-controls .owl-nav .owl-prev:hover:after {
    color: #b6b6b6
}

.event2-carousel.owl-theme .owl-controls .owl-nav .owl-prev:after {
    margin-left: -12px
}

.event2-carousel.owl-theme .owl-controls .owl-nav .owl-next:after {
    margin-right: -12px
}

@media screen and (max-width: 992px) {
    .calluna-shortcodes-responsive .calluna-flexslider-wrap .flex-direction-nav .flex-prev {
        opacity: 1;
        left: 10px
    }

    .calluna-shortcodes-responsive .calluna-flexslider-wrap .flex-direction-nav .flex-next {
        opacity: 1;
        right: 10px
    }
}

@media only screen and (max-width: 768px) {
    .calluna-shortcodes-responsive .calluna-col {
        width: 100%
    }

    .calluna-shortcodes-responsive .calluna-five-sixth, .calluna-shortcodes-responsive .calluna-four-fifth, .calluna-shortcodes-responsive .calluna-one-fifth, .calluna-shortcodes-responsive .calluna-one-fourth, .calluna-shortcodes-responsive .calluna-one-half, .calluna-shortcodes-responsive .calluna-one-sixth, .calluna-shortcodes-responsive .calluna-one-third, .calluna-shortcodes-responsive .calluna-three-fifth, .calluna-shortcodes-responsive .calluna-three-fourth, .calluna-shortcodes-responsive .calluna-two-fifth, .calluna-shortcodes-responsive .calluna-two-third {
        width: 100%;
        float: none;
        margin-right: 0;
        margin-bottom: 20px
    }

    .calluna-shortcodes-responsive .calluna-shortcodes-responsive .calluna-pricing-table > div {
        margin-bottom: 25px
    }

    .calluna-shortcodes-responsive .calluna-box.left, .calluna-shortcodes-responsive .calluna-box.right, .calluna-shortcodes-responsive .calluna-shortcodes-responsive .calluna-box {
        float: none;
        width: 100% !important
    }

    .calluna-shortcodes-responsive .calluna-tabs ul.ui-tabs-nav {
        margin-left: 0
    }

    .calluna-shortcodes-responsive .calluna-tabs ul.ui-tabs-nav li {
        width: 100%
    }

    .calluna-shortcodes-responsive .calluna-tabs ul.ui-tabs-nav li a {
        border-left-width: 1px
    }
}

@media only screen and (max-width: 480px) {
    .calluna-testimonial {
        display: block;
        float: left
    }

    .calluna-testimonial-author-image {
        margin-left: auto;
        margin-right: auto;
        width: 120px;
        margin-bottom: 20px;
        float: none
    }
}

/* Estilos efecto portada */


.text-white, .text-white h1, .text-white h2, .text-white h3, .text-white h4, .text-white h5, .text-white a {
    color: white !important;
}


/* efecto para los tours */


.blog-card {
    display: block;
    max-width: 100%;
    width: 100%;
    height: 450px;
    position: relative;
    color: #fff;
    top: 0%;
    right: 0;
    left: 0;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0px;
    box-shadow: 0px 10px 20px -9px rgba(0, 0, 0, 0.5);
    text-align: center;
    transition: all 0.4s;
    background-size: 100%;
}

.blog-card a {
    color: #fff;
    text-decoration: none;
    transition: all 0.2s
}

.blog-card .color-overlay {
    background: rgba(64, 84, 94, 0);
    width: 550px;
    height: 500px;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    transition: background 0.3s cubic-bezier(0.33, 0.66, 0.66, 1);
}

.blog-card .gradient-overlay {
    background-image: linear-gradient(transparent 0%, rgba(0, 0, 0, 0.6) 21%);
    width: 550px;
    height: 500px;
    position: absolute;
    top: 350px;
    left: 0;
    z-index: 15;
}

.blog-card:hover {
    box-shadow: 0px 18px 20px -9px rgba(0, 10, 30, 0.75);
}

.blog-card:hover .card-info {
    opacity: 1;
    bottom: 40px;
}

.blog-card:hover .color-overlay {
    background: rgba(0, 0, 0, 0.8);
}

.blog-card:hover .title-content {
    margin-top: 30px
}

.title-content {
    padding: 20px;
    text-align: center;
    margin: 170px 0 0 0;
    position: absolute;
    z-index: 20;
    width: 100%;
    top: 0;
    left: 0;
    transition: all 0.6s;
}

.blog-card:hover h3:after {

    animation: changeLetter 0.3s 1 linear;
    width: 80%
}

.blog-card .intro {
    opacity: 0.85;
    font-size: 0.85rem;
}


.blog-card h3, h1 {
    font-size: 1.8em;
    font-weight: 400;
    letter-spacing: 0px;
    margin-bottom: 0;
    display: inline-block;
}

.blog-card h3 a {
    font-weight: 800;
    font-size: 1.2rem;
    text-shadow: 0px 0px 4px rgb(0, 0, 0);
    transition: all .2s;
    line-height: 90%;
}

.blog-card h3 a:hover {
    text-shadow: 0px 8px 20px rgba(0, 0, 0, 0.95);
}

.blog-card .title-content h3:after {
    content: " ";
    display: block;
    width: 10%;
    height: 2px;
    margin: 5px auto;
    border: 0;
    background: #BDA26B;
    transition: all 0.2s
}


.blog-card .card-info {
    box-sizing: border-box;
    padding: 0;
    width: 100%;
    position: absolute;
    bottom: -40px;
    left: 0;
    margin: 0 auto;
    padding: 0 30px;
    font-style: 16px;
    line-height: 24px;
    z-index: 20;
    opacity: 0;
    transition: bottom 0.64s, opacity 0.63s cubic-bezier(0.33, 0.66, 0.66, 1);
}

.blog-card .card-info a {
    display: block;
    width: 100px;
    margin: 15px auto;
    background: #fff;
    color: #444;
    padding: 3px 10px;
    border-radius: 2px;
    font-size: 0.8em
}

.blog-card .card-info a:hover {
    background: #8e7c49;
    color: #fff;
}

.blog-card .card-info a:hover span {
    filter: brightness(10);
    opacity: 1
}


/* efecto para los tours */


div#jupiterx-primary {
    padding: 0px;
}


.swiper-carousel-tours {
    overflow: hidden;
}

.duration {
    font-size: 15px;
    color: white;
}

.price_prev {
    width: 100%;
    font-size: 1.3rem !important;
    height: 100%;
    padding: 10px !important;
}

div#sidebar_tour {
    background-color: white;
}

.fecha-reserva-box .datepicker {
    width: 100%;
}


.text-black {
    color: black !important;
}

.bg_title {
    position: absolute;
    bottom: 20%;
    width: 100%;
}

.title-text {
    transition: all 400ms;
    width: 50%;
    background-color: #0000005e;
    padding: 30px;
    color: white;
}

.title-text:hover {
    background-color: #00000096;
}

.texto_encima {
    color: #ffd715;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1;
}

.title-text h1 {
    font-size: 2.3rem;
    text-transform: uppercase;
    font-weight: 700;
}

.texto_debajo {
    line-height: 1.4;
    margin-bottom: 10px;
    margin-top: 10px;
    font-size: 0.9rem;
}

p#breadcrumbs a {
    color: #015933;
    font-weight: 600;
}

.book_now_box {
    background-color: white;
}

.book_now_box h4 {
    font-size: 1.2rem;
    text-transform: uppercase;
    margin-bottom: 0;
}

.book_now_box h5 {
    font-size: 1rem;
}

.book_now_box .con {
    font-size: 0.9rem;
    line-height: 1.2;
    margin-bottom: 8px;
}

.title-page {
    position: relative;
}

ul.lang-selector {
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.lang-selector li {
    margin-right: 3px;
    display: inline-block;
    margin-left: 3px;
}

ul.lang-selector img {
    width: 25px !important;
    height: 15px !important;
}

.lang-selector a {
    top: -5px !important;
    padding: 0;
    line-height: 1;
    position: relative;
}

ul.lang-selector {
    margin: 0px 0 0 5px;
    padding: 0;
    list-style: none;
}

.card-cook img {
    margin-top: -60px
}

.adicional img {
    margin-top: -5px;
    width: 30px;
    height: 30px;
}

.box-price h5 {
    font-size: 0.9rem;
}

.box-price h5 .monto {
    font-size: 0.9rem;
}

.box-price span.monto {
    font-size: 2rem;
    font-family: var(--mpr-font-heading);
}

.add_details {
    font-size: 0.8rem;
}

.tour-accordion-header h2 {
    margin-bottom: 5px;
    font-size: 1.3rem;
    font-weight: 600;
}

.tour-accordion-header {
    padding: 5px 20px;
}

.day_n {
    color: #015933;
    font-weight: 700;
    position: relative;
}

.tour-accordion-header {
    border-bottom: 2px solid #006633;
    cursor: pointer;
    transition: all 400ms;
    background-color: #fcfcfc;
}

.tour-accordion-header:hover {
    border-bottom: 2px solid #006633;
    cursor: pointer;
    background-color: #f1f1f1;
}

.tri_down {
    position: absolute;
    right: 0;
    color: black;
    font-size: 2rem;
    transition: all 400ms;
    transform: rotate(90deg);
}

.collapsed .tri_down {
    transform: rotate(0deg);
}

.tour-accordion-header:hover .tri_down {
    color: #ffd715;
}

.tri_down {
    position: absolute;
    right: 0;
    color: black;
    font-size: 2rem;
    transition: all 200ms;
    transform: rotate(90deg);
}


/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {

    .deta {
        display: none;
    }

    a.btn-reservations {
        border-radius: 5px !important;
        font-size: 1rem;
        width: 100%;
    }

    .btn-reservations-2 {
        border-radius: 5px !important;
        font-size: 1rem !important;
        width: 100%;
    }


    .tour-content h2 {
        font-size: 1.2rem;
        text-transform: uppercase;
        padding-left: 15px;
        border-left: 5px solid #006633;
        position: relative;
        font-weight: 700;
    }


    .content h3 {
        margin-bottom: 0;
        font-size: 1rem;
    }

    .gocard .adicional {
        margin-bottom: 10px;
    }


    .texto_debajo {
        display: none;
    }

    .slick-slide img {
        width: 100%;
        display: block;
    }


    h2.title_tour {
        color: #025833;
        font-size: 1.1rem;
        text-align: center;
        font-weight: 800;
    }

    /* Styles */
    .section_tour .accordion-item h2 {
        font-size: 0.85rem;
    }

    .tour-box {
        padding: 10px !important;
    }

    .accordion-item-responsive i {
        margin-right: 10px;
    }

    h2.accordion-header-responsive button {
        font-weight: 700 !important;
        text-transform: uppercase;
        font-size: 0.9rem !important;
    }

    .mobile_menu {
        display: none;
    }

    .mobile_menu {
        box-shadow: 0 5px 8px 2px #0000002e;
        background: white;
        z-index: 9;
        position: sticky;
        top: 0;
    }

    .nav-responsive li {
        display: inline-block;
    }

    .nav-responsive a {
        display: block;
        padding-left: 5px;
        padding-right: 5px;
    }

    .nav-responsive li.current {
        background-color: green;
    }

    .nav-responsive li.current a {
        color: white;
    }


    .box_menu {
        display: none;
    }


    .icono_tab {
        display: none;
    }

    .itinerary_label {
        font-size: 0.8rem !important;
        font-weight: 600;
    }

    .itinerary_label {

    }


    .logo_footer img {
        width: 50px
    }

    .initial-nav {
        display: none;
    }

    .nav_item_7 {
        display: none !important;
    }

    .nav_item_9 {
        display: none !important;
    }

    .box-price {
        display: none;
    }

    .label_duration {
        margin: auto;
    }

    .slider-nav {
        display: none !important;
    }

    .title-box h1 {
        font-size: 2rem;
        text-align: center;
    }

    .box-price {
        display: none !important;
    }

    button.slick-arrow {
        display: none !important;
    }

    .slider-tour {
        display: none !important;
    }

    .header-container {
        height: 60vh;
    }

    .title-page-desktop {
        display: none;
    }

    .title-text {
        text-align: center;
        width: 100%;
    }

    .title-text h1 {
        font-size: 2rem;
        text-transform: uppercase;
        font-weight: 400;
    }

    .bg_title {
        position: absolute;
        bottom: 29%;
        width: 100%;
    }


    .box_menu {
        z-index: 9;
        position: sticky;
        top: 0;
    }

    #sidebar_tour li {
        margin-right: 0 !important;
    }

    ul#nav {
        width: max-content;
        display: inline-block;
        margin-bottom: 0;
        padding-left: 0;
    }

    ul#nav li {
        display: inline-block;
        padding: 0px 3px;
        margin-bottom: 0px;
    }

    button.accordion-button {
        font-size: 1.1rem !important;
        padding: 10px;
        text-align: left;
        border-radius: 5px;
    }

    .accordion-body {
        padding: 10px;
    }

    .box_menu {
        padding: 0;
        width: 100% !important;
    }

    .content {
        width: 100% !important;
    }

    #nav a {
        font-family: var(--mpr-font-heading);
        font-size: 15px !important;
        padding: 10px !important;
    }

    .mb-5 {
        margin-bottom: 0 !important;
    }

    .mt-6 {
        margin-top: 0 !important;
    }

    p#breadcrumbs {
        display: none;
    }

    .detalles {
        display: none;
    }

    .text-help {
        display: none;
    }

    .pdf_itinerary {
        display: none;
    }

    .book_online {
        display: none;
    }

    div#accordionExample {
        padding-top: 15px;
    }

    h2 {
        font-size: 1.4rem;
    }

    .hide-mobile {
        display: none !important;
    }

}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width: 321px) {
    /* Styles */
}

/* Smartphones (portrait) ----------- */
@media only screen and (max-width: 320px) {
    /* Styles */
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    /* Styles */
}

/* iPads (landscape) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) {
    /* Styles */
}

/* iPads (portrait) ----------- */
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) {
    /* Styles */
}

/**********
iPad 3
**********/
@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
    /* Styles */
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
    /* Styles */
}

/* Desktops and laptops ----------- */
@media only screen  and (min-width: 1224px) {

    h2.accordion-header-responsive {
        display: none;
    }

    .tour-box {
        padding: 15px;
    }


    .item_collapse .accordion-collapse {
        display: block !important;
    }

    /* Styles */
    .title-page-mobile {
        display: none;
    }

    .imagen_mobile {
        display: none;
    }

    .mobile_menu {
        display: none;
    }

    .box_menu {
        border-radius: 0;
        background-color: white;
        padding: 5px;
        border: 1px solid #ededed;
        margin-bottom: 15px;
    }


}


/* iPhone 4 ----------- */
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: landscape) and (-webkit-min-device-pixel-ratio: 2) {
    /* Styles */
}

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) and (orientation: portrait) and (-webkit-min-device-pixel-ratio: 2) {
    /* Styles */
}

/* iPhone 5 ----------- */
@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

@media only screen and (min-device-width: 320px) and (max-device-height: 568px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

/* iPhone 6, 7, 8 ----------- */
@media only screen and (min-device-width: 375px) and (max-device-height: 667px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

@media only screen and (min-device-width: 375px) and (max-device-height: 667px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

/* iPhone 6+, 7+, 8+ ----------- */
@media only screen and (min-device-width: 414px) and (max-device-height: 736px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

@media only screen and (min-device-width: 414px) and (max-device-height: 736px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

/* iPhone X ----------- */
@media only screen and (min-device-width: 375px) and (max-device-height: 812px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

@media only screen and (min-device-width: 375px) and (max-device-height: 812px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

/* iPhone XS Max, XR ----------- */
@media only screen and (min-device-width: 414px) and (max-device-height: 896px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

@media only screen and (min-device-width: 414px) and (max-device-height: 896px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

/* Samsung Galaxy S3 ----------- */
@media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

@media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 2) {
    /* Styles */
}

/* Samsung Galaxy S4 ----------- */
@media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

@media only screen and (min-device-width: 320px) and (max-device-height: 640px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

/* Samsung Galaxy S5 ----------- */
@media only screen and (min-device-width: 360px) and (max-device-height: 640px) and (orientation: landscape) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

@media only screen and (min-device-width: 360px) and (max-device-height: 640px) and (orientation: portrait) and (-webkit-device-pixel-ratio: 3) {
    /* Styles */
}

ul#nav {
    display: flex;
    margin: 0;
    padding: 0;
}

#nav li {
    margin-left: 0;
    margin-top: 0;
    display: inline-block;
    margin-bottom: 0;
    margin-right: 10px;
}

#nav a {
    font-weight: 700;
    background: #ededed;
    color: #666;
    display: block;
    font-size: 20px;
    padding: 10px 15px;
    text-decoration: none;
    text-transform: uppercase;
    transition: all 900ms;
    border-radius: 0;
}

#nav a:hover {
    background: #006633;
    color: #ffd715;
}

#nav .current a {
    background: #006633;
    color: #ffd715;

}

.tour-box h2 {
    color: #006633;
    border-left: 0px solid #006633;
    margin-left: 0px;
    padding-left: 0px;
    border-bottom: 1px solid #e8e8e8;
    margin-bottom: 15px;
    padding-bottom: 10px;
    font-size: 1.3rem;
    font-weight: 600;
}

.section {
    border-bottom: 5px solid #ccc;
    min-height: 60vh;
    padding: 50px 20px;
}

.section p:last-child {
    margin-bottom: 0;
}


.accordion-item {
    margin-bottom: 15px;
}

.accordion-collapse {
    border-width: 1px !important;
}

.accordion-button.collapsed {
    border-bottom-width: 1px !important;
}

.accordion-button:not(.collapsed) {
    font-size: 1.5rem;
    color: #000000;
    background-color: #fdfdfd;
}

.accordion-button {
    font-size: 1.25rem !important;
}

.accordion-button:not(.collapsed) {
    color: #0c63e4;
    background-color: #ededed;
}

.accordion-button:not(.collapsed) {
    color: #000000 !important;
    background-color: #ededed !important;
}


.accordion-button:focus {
    z-index: 3;
    border-color: #015933 !important;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgb(1 89 51 / 24%);
!important;
}

img.image-itinerario {
    width: 480px;
}

.bg-itinerario {
    padding: 30px 0;
    background-color: #fbfbfb;
}

.sidebar {
    position: sticky;
    top: 0;
}

.tripadvisor_sidebar img {
    width: 200px;
    text-align: center;
    margin: auto;
    display: block;
}

li.normal.nav_item_6 {
    display: none !important;
}


.tripadvisor_sidebar h4 {
    text-align: center;
    font-size: 0.9rem;
}


li.normal {
    text-align: center;
}

.itinerary_label {
    font-size: 1rem;
    font-weight: 600;
}

.accordion-body {
    background-color: white;
}

.accordion-button.collapsed {
    background-color: #025833;
    color: #ffd715;
}

.borde {
    border-radius: 10px;
    border: 1px solid rgba(0, 0, 0, .125);
    background-color: white;
}

.gallery-thumbs {
    margin-top: 10px;
}

.thumbnail-slide-category {
    opacity: 0.5;
    transition: all 200ms;
    cursor: pointer;
    border-radius: 5px;
}

.thumbnail-slide-category:hover {
    opacity: 1;
}

.swiper-slide-thumb-active {
    opacity: 1;
}


.swiper-slide-tour {
    text-align: center;
    font-size: 18px;
    background: #fff;

    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

.grid {
    position: relative;
    margin: 0 auto;
    max-width: 1000px;
    list-style: none;
    text-align: center;
    padding: 10px;
}

/* Common style */
.grid figure {
    position: relative;
    overflow: hidden;
    margin: 10px 1%;
    min-width: 100%;
    max-height: 640px;
    background: #000;
    text-align: center;
    cursor: pointer;
}

.grid figure img {
    position: relative;
    display: block;
    min-height: 100%;
    max-width: 100%;
    opacity: 1;
}

.grid figure figcaption {
    padding: 1em;
    color: #fff;
    font-size: 1.25em;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.grid figure figcaption::before,
.grid figure figcaption::after {
    pointer-events: none;
}

.grid figure figcaption, .grid figure figcaption > a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* Anchor will cover the whole item by default */
/* For some effects it will show as a button */
.grid figure figcaption > a {
    z-index: 1000;
    text-indent: 200%;
    white-space: nowrap;
    font-size: 0;
    opacity: 0;
}

.grid figure h2 {
    font-weight: 500;
}

.grid figure h2 span {
    font-weight: 800;
}

.grid figure h2,
.grid figure p {
    margin: 0;
}

.grid figure p {
    margin-top: 0px;
    font-weight: 400;
    font-size: 79%;
    line-height: 140%;
    color: white !important;
}

.label-detail b:hover {
    color: #015933;
}


/*---------------*/
/***** Lily *****/
/*---------------*/

figure.effect-lily img {
    max-width: none;
    width: -webkit-calc(100% + 50px);
    width: calc(120%);
    opacity: 1;
    -webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
    transition: opacity 0.35s, transform 0.35s;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
}

figure.effect-lily figcaption {
    text-align: left;
}

figure.effect-lily figcaption > div {
    text-align: center;
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 10px 20px 10px 20px;
    width: 100%;
    height: 36%;
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(164, 27, 16, 0.009138689655549759) 100%);
    background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(164, 27, 16, 0.009138689655549759) 100%);
    background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(164, 27, 16, 0.009138689655549759) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#a41b10", GradientType=1);
}

figcaption > div > a.btn {
    bottom: 0 !important;
    position: relative;
}

a.btn.btn-sm.btn-outline-light:hover {
    color: black !important;
}

figure.effect-lily h2,
figure.effect-lily p {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
    text-shadow: 2px 2px 4px black !important;
    color: white;
}

figure.effect-lily h2 {
    -webkit-transition: -webkit-transform 0.35s;
    transition: transform 0.35s;
    text-shadow: 2px 2px 4px black !important;
}

figure.effect-lily p {
    color: rgba(255, 255, 255, 0.8);
    opacity: 1;
    padding: 10px;
    -webkit-transition: opacity 0.2s, -webkit-transform 0.35s;
    transition: opacity 0.2s, transform 0.35s;
}

figure.effect-lily h2 {
    color: white !important;
}

figure.effect-lily:hover img {
    opacity: 0.5;
}

figure.effect-lily:hover p {
    opacity: 1;
}

figure.effect-lily:hover img {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

figure.effect-lily:hover h2,
figure.effect-lily:hover p {
    -webkit-transform: translate3d(0, -50px, 0);
    transform: translate3d(0, -50px, 0);
}


figure.effect-lily:hover p {
    -webkit-transition-delay: 0.05s;
    transition-delay: 0.05s;
    -webkit-transition-duration: 0.35s;
    transition-duration: 0.35s;
}


/* Efectos para categorias */


.operator-snippet__data {
    border-top: 1px solid #dfdfdf;
}

.operator-snippet__data .box {
    padding: 10px;
    border-right: 1px solid #dfdfdf;
    text-align: center;
}

h2.serif.tourtitle {
    color: white !important;
}

/* Efectos para categorias */

.sidebar > #nav > li.normal.current a {
    color: white !important;
}

.sidebar > #nav > li.normal a {
    color: black !important;
}

.border-tour {
    margin: 0 0 10px 15px;
    padding: 5px;
    border: 1px solid #e1e1e1;
    border-radius: 5px;
}

.accordion-body {
    text-align: justify;
}

.sidebar .amount {
    font-size: 3rem;
}


.box_note {
    background-color: #00663317;
    padding: 10px;
    color: #000000;
    font-size: 0.8rem;
}

.box_specialist {
    margin-top: 70px;
    text-align: center;
}

.foto_specialist img {
    margin: auto;
    border-radius: 50% !important;
    width: 90px;
    margin-top: -60px;
    box-shadow: 0 0 4px #0000006b !important;
    display: block;
    border: 3px solid white !important;
}

.box_specialist h4 {
    text-transform: uppercase;
    font-size: 1rem;
    text-align: center;
}

.foto_specialist {
    margin-bottom: 15px;
}

.box_specialist p {
    margin-bottom: 5px;
    font-size: 14px;
    line-height: 1.2;
}


.detalles {
    border: 10px;
}

.table > :not(caption) > * > * {
    vertical-align: middle !important;
}

.text-right {
    text-align: right;
}

.elementor-25754 .elementor-element.elementor-element-c495052 .jet-popup-action-button__instance {
    width: 100%;
}

.book_form_box {

}

.book_form_box h2 {
    margin-bottom: 0px;
    font-size: 1.4rem;
    font-family: var(--mpr-font-heading) !important;
}


.hide {
    display: none !important;
}


.pax_information {
    font-weight: 500;
    font-size: 0.85rem;
}

.pax_information > .row > div {
    padding: 0 5px !important;
}

.pax_information label {
    margin-bottom: 0;
    margin-top: 10px;
}

.resumen-pedido {
    font-size: 0.85rem;
    padding: 10px;
}

.resumen-pedido table {
    width: 100%;
}

.resumen-pedido tr {
    border-bottom: 1px solid #ffd6a5;
}

.resumen-pedido td {
    padding-bottom: 5px;
    padding-top: 5px;
}


/* efectos portada */

.travel_tour_card {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 100%;
    background: white;
    color: currentColor;
    text-decoration: none !important;
    overflow: hidden;
    transition-property: color;
    transition-delay: 0.15s;
    box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1) !important;

}

.travel_tour_card.hover {
    color: white;
    transition-delay: 0;
}

.travel_tour_card, .travel_tour_card__image, .travel_tour_card__image::after, .travel_tour_card__author, .travel_tour_card__body, .travel_tour_card__foot, .travel_tour_card__border {
    transition-duration: 0.4s;
    /*transition-timing-function: cubic-bezier(0.51, 0.92, 0.24, 1);*/
}

.travel_tour_card__head {
    position: relative;
    padding-top: 70%;
}

.travel_tour_card__author {
    position: absolute;
    padding: 10px;
    left: 0;
    bottom: 0;
    color: white;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-delay: 0.15s;
}

.travel_tour_card.hover .travel_tour_card__author {
    transition-delay: 0;
}

.travel_tour_card__image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-size: cover;
    background-position: center;
    -webkit-transform-origin: top center;
    transform-origin: top center;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-delay: 0.15s;
}

.travel_tour_card__image::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: .5;
    /*background: linear-gradient(30deg, rgb(0 0 0 / 85%), rgb(255 255 255 / 50%));*/
    transition-property: opacity;
    transition-delay: 0.15s;
}

.travel_tour_card.hover .travel_tour_card__image {
    transition-delay: 0;
}

.travel_tour_card.hover .travel_tour_card__image::after {
    opacity: 1;
    transition-delay: 0;
}

.travel_tour_card__body {
    position: relative;
    padding: 15px;
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition-delay: 0.15s;
}

.travel_tour_card.hover .travel_tour_card__body {
    transition-delay: 0;
}

.travel_tour_card .travel_tour_card__headline {
    color: #015933 !important;
}

.travel_tour_card.hover .travel_tour_card__headline {
    color: white !important;
}

.travel_tour_card__headline {
    font-weight: 400;
    margin: 0;
    border-bottom: none;
    font-size: 1.3rem;
    min-height: 40px;
}

.travel_tour_card__text {
    line-height: 1.5;
    margin: 0;
    opacity: .8;
}

.travel_tour_card__foot {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    padding: 0 2em 2em;
    opacity: 0;
    transition-property: opacity;
}

.travel_tour_card.hover .travel_tour_card__foot {
    opacity: 1;
    transition-delay: 0.15s;
}

.travel_tour_card__link {
    color: currentColor;
    text-decoration: none;
    border-bottom: 2px solid #ffd715;
}

.travel_tour_card__border {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 6px;
    background: #ffd715;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    transition-property: -webkit-transform;
    transition-property: transform;
    transition-property: transform, -webkit-transform;
    transition: all 200ms;
}

.travel_tour_card.hover .travel_tour_card__border {
    -webkit-transform: none;
    transform: none;
    transition-delay: 0.15s;
}

.separator_mr {
    margin-top: 0px;
    height: 5px;
    width: 50%;
    background-color: #ffd715;
    margin-bottom: 15px;
}

.author {
    display: flex;
    align-items: center;
}

.author__image {
    flex-shrink: 0;
    margin-right: 1em;
    width: 56px;
    height: 56px;
    border-radius: 100%;
    overflow: hidden;
}

.author__content {
    display: grid;
    grid-gap: .4em;
    font-size: .9em;
}

.author__header {
    margin: 0;
    font-weight: 600;
}

.author__subheader {
    margin: 0;
    opacity: .8;
}

a.travel_tour_card {
    margin-bottom: 15px;
}

/* efectos portada */


.socios img {
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 200ms;
}

.socios img:hover {
    -webkit-filter: grayscale(1);
    filter: none;
    opacity: 1;
}

.mt-6 {
    margin-top: 30px;
}

div#inclusions {
    background-color: #f8f8f8;
}

h2.text-white {
    color: white !important;
}


.showcase {
    position: relative;
    overflow: hidden;
}

.showcase_title {
    position: absolute;
    bottom: 0;
    padding: 15px;
}

.showcase1 h2 {
    font-weight: 700;
    font-size: 1.9rem;
    line-height: 1.1;
}

.showcase2 h2 {
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1.1;
}

.showcase img {
    width: 100%;
    transition: all 500ms;
}

.showcase:hover img {
    transform: scale(1.2);
}

.showcase_title {
    width: 100%;
}


.showcase_title {
    color: white;
    background: rgb(0, 0, 0);
    background: -moz-linear-gradient(0deg, rgba(0, 0, 0, 0.5690651260504201) 0%, rgba(0, 0, 0, 0) 100%);
    background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0.5690651260504201) 0%, rgba(0, 0, 0, 0) 100%);
    background: linear-gradient(0deg, rgba(0, 0, 0, 0.5690651260504201) 0%, rgba(0, 0, 0, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}

.included ul li:before {
    font-family: 'Font Awesome 5 Free';
    content: '\f105';
    margin: 0 5px 0 -13px;
    color: #62ab00;
    font-weight: 900;
}

.included li, .no-included li {
    list-style: none;
}

.no-included ul li:before {
    font-weight: 900;
    font-family: 'Font Awesome 5 Free';
    content: '\f105';
    margin: 0 5px 0 -13px;
    color: #ba0101;
}

.tour-box ul {
    padding-left: 15px;
}


/* chat bonito */


.wa__button {
    border-bottom: none !important;
}

.wa__btn_w_img:hover {
    text-decoration: none;
}

.wa__button,
.wa__btn_popup,
.wa__button *,
.wa__btn_popup *,
.wa__btn_popup :before,
.wa__button :before,
.wa__button :after,
.wa__btn_popup :after,
.wa__popup_chat_box,
.wa__popup_chat_box *,
.wa__popup_chat_box :before,
.wa__popup_chat_box :after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* VVV--button--VVV */
.wa__button {
    position: relative;
    width: 300px;
    min-height: 64px;
    display: block;
    font-family: var(--mpr-font-body);
    text-decoration: none;
    color: #fff;
    box-shadow: 0px 4px 8px 1px rgba(32, 32, 37, 0.09);
    -webkit-box-shadow: 0px 4px 8px 1px rgba(32, 32, 37, 0.09);
    -moz-box-shadow: 0px 4px 8px 1px rgba(32, 32, 37, 0.09);
}

.wa__btn_txt {
    display: inline-block;
    font-size: 12px;
    line-height: 1.33em;
}

.wa__btn_w_icon .wa__btn_txt {
    padding: 16px 20px 15px 71px;
}

.wa__button_text_only .wa__btn_txt,
.wa__r_button.wa__btn_w_img.wa__button_text_only .wa__btn_txt,
.wa__sq_button.wa__btn_w_img.wa__button_text_only .wa__btn_txt {
    padding-top: 25px;
    padding-bottom: 24px;
}


.wa__btn_w_icon .wa__btn_txt .wa__btn_title {
    font-weight: 600;
    padding-left: 2px;
    font-size: 14px;
}

.wa__cs_info {
    margin-bottom: 2px
}

.wa__btn_status {
    color: #ffd715;
    font-size: 9px;
    padding: 2px 0 0;
    font-weight: 700;
}

.wa__cs_info .wa__cs_name,
.wa__cs_info .wa__cs_status {
    display: inline-block;
}

.wa__cs_info .wa__cs_name {
    font-weight: 400;
    font-size: 12px;
    line-height: 1.36em;
}

.wa__stt_online .wa__cs_info .wa__cs_name {
    color: #d5f0d9
}

.wa__stt_offline .wa__cs_info .wa__cs_name {
    color: #76787d;
}

.wa__cs_info .wa__cs_status {
    width: 36px;
    height: 14px;
    margin-left: 3px;
    padding: 1px;
    font-size: 9px;
    line-height: 1.34em;
    border-radius: 5px;
    color: rgba(255, 255, 255, 0.98);
    position: relative;
    top: -1px;
    left: 0px;
    text-align: center;
}

.wa__stt_online .wa__cs_info .wa__cs_status {
    background: #62c971;
}

.wa__stt_offline .wa__cs_info .wa__cs_status {
    background: #b9bbbe;
}


.wa__stt_online {
    background: #2DB742;
    cursor: pointer;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    backface-visibility: hidden;
    will-change: transform;
}

.wa__stt_online .wa__btn_txt {
    position: relative;
    z-index: 4;
}

.wa__r_button.wa__stt_online:before {
    border-radius: 50vh;
}

.wa__sq_button.wa__stt_online:before {
    border-radius: 5px;
}

.wa__stt_online:before {
    content: '';
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    background: rgba(0, 0, 0, 0.2);
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    opacity: 0;
    will-change: opacity;
}

.wa__button.wa__stt_online:focus,
.wa__button.wa__stt_online:active,
.wa__button.wa__stt_online:hover {
    box-shadow: 0px 4px 8px 1px rgba(32, 32, 37, 0.19);
    transform: translate(0, -3px);
    -webkit-transform: translate(0, -3px);
    -moz-transform: translate(0, -3px);
    -ms-transform: translate(0, -3px);
}

.wa__button.wa__stt_online:focus:before,
.wa__button.wa__stt_online:active:before,
.wa__button.wa__stt_online:hover:before {
    opacity: 1;
}

.wa__stt_online.wa__btn_w_icon .wa__btn_icon img {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
}

.wa__stt_offline {
    background: #EBEDF0;
    color: #595B60;
    box-shadow: none;
    cursor: initial;
}

.wa__stt_offline.wa__btn_w_icon .wa__btn_txt {
    padding: 8px 20px 6px 71px;
}

.wa__stt_offline.wa__r_button.wa__btn_w_img .wa__btn_txt {
    padding: 8px 20px 8px 100px
}

.wa__stt_offline.wa__sq_button.wa__btn_w_img .wa__btn_txt {
    padding: 8px 20px 8px 70px;
}

.wa__btn_w_icon .wa__btn_icon {
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
}

.wa__btn_w_icon .wa__btn_icon img {
    width: 41px;
    height: 69px;
}

.wa__btn_w_img {
    position: relative;
    width: 300px;
    margin: 20px 0 20px;
}

.wa__btn_w_img .wa__cs_img {
    position: absolute;
    top: 50%;
    left: 0px;
    text-align: center;
    transform: translate(0, -50%);
    -webkit-transform: translate(0, -50%);
    -moz-transform: translate(0, -50%);
}

.wa__btn_w_img .wa__cs_img_wrap {
    width: 79px;
    height: 79px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border: 3px solid #ffffff;
    position: relative;
    overflow: hidden;
}

.wa__btn_w_img .wa__cs_img img {
    max-width: 100%;
    height: auto;
    transition: 0.2s ease transform;
    -webkit-transition: 0.2s ease transform;
    -moz-transition: 0.2s ease transform;
}

.wa__btn_w_img .wa__cs_img:after {
    content: '';
    background: #ffffff url('images/whatsapp_logo_green.svg') center center no-repeat;
    background-size: 21px;
    display: block;
    width: 27px;
    height: 27px;
    position: absolute;
    top: 20px;
    right: -14px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0px 4px 6px 0px rgba(39, 38, 38, 0.3);
    -webkit-box-shadow: 0px 4px 6px 0px rgba(39, 38, 38, 0.3);
    -moz-box-shadow: 0px 4px 6px 0px rgba(39, 38, 38, 0.3);
}

.wa__stt_offline.wa__btn_w_img .wa__cs_img:after {
    content: '';
    background: #ffffff url('images/whatsapp_logo_gray.svg') center center no-repeat;
    background-size: 21px;
    display: block;
    width: 27px;
    height: 27px;
    position: absolute;
    top: 20px;
    right: -14px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0px 4px 6px 0px rgba(39, 38, 38, 0.3);
    -webkit-box-shadow: 0px 4px 6px 0px rgba(39, 38, 38, 0.3);
    -moz-box-shadow: 0px 4px 6px 0px rgba(39, 38, 38, 0.3);
}


.wa__btn_w_img .wa__btn_txt {
    padding: 14px 20px 12px 103px;
}

.wa__r_button {
    border-radius: 50vh;
}

.wa__sq_button {
    border-radius: 5px;
}

.wa__sq_button.wa__btn_w_img {
    width: 270px;
    margin-left: 30px;
}

.wa__r_button.wa__btn_w_img .wa__cs_img {
    left: -5px;
}

.wa__sq_button.wa__btn_w_img .wa__cs_img {
    left: -35px;
}

.wa__sq_button.wa__btn_w_img .wa__btn_txt {
    padding: 10px 20px 10px 70px;
    display: table-cell;
    vertical-align: middle;
    height: 66px;
}

.wa__btn_txt .wa__btn_title {
    font-weight: 600;
}

.wa__r_button.wa__btn_w_img .wa__btn_txt {
    padding: 8px 20px 8px 100px;
    display: table-cell;
    vertical-align: middle;
    height: 66px;
}

.wa__r_button.wa__btn_w_img .wa__cs_info .wa__cs_status {
    margin-left: 3px;
}

/* ^^^--button--^^^ */

/* VVV--popup--VVV */

.wa__popup_chat_box {
    font-family: var(--mpr-font-body);
    width: 351px;
    border-radius: 5px 5px 8px 8px;
    -webkit-border-radius: 5px 5px 8px 8px;
    -moz-border-radius: 5px 5px 8px 8px;
    position: fixed;
    overflow: hidden;
    box-shadow: 0px 10px 10px 4px rgba(0, 0, 0, 0.04);
    -webkit-box-shadow: 0px 10px 10px 4px rgba(0, 0, 0, 0.04);
    -moz-box-shadow: 0px 10px 10px 4px rgba(0, 0, 0, 0.04);
    bottom: 102px;
    right: 25px;
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    -ms-transform: translate(0, 50px);
    transform: translate(0, 50px);
    -webkit-transform: translate(0, 50px);
    -moz-transform: translate(0, 50px);
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    will-change: transform, visibility, opacity;
    max-width: calc(100% - 50px);
}

.wa__popup_chat_box:hover,
.wa__popup_chat_box:focus,
.wa__popup_chat_box:active {
    box-shadow: 0px 10px 10px 4px rgba(32, 32, 37, 0.23);
    -webkit-box-shadow: 0px 10px 10px 4px rgba(32, 32, 37, 0.23);
    -moz-box-shadow: 0px 10px 10px 4px rgba(32, 32, 37, 0.23);
}

.wa__popup_chat_box.wa__active {
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    visibility: visible;
    opacity: 1;
}

.wa__popup_chat_box .wa__popup_heading {
    position: relative;
    padding: 15px 43px 17px 74px;
    color: #d9ebc6;
    background: #2db742;
}

.wa__popup_chat_box .wa__popup_heading_sm {
    padding: 12px 15px 17px 74px;
}

.wa__popup_chat_box .wa__popup_heading:before {
    content: '';
    background: url('images/whatsapp_logo.svg') center top no-repeat;
    background-size: 33px;
    display: block;
    width: 55px;
    height: 33px;
    position: absolute;
    top: 20px;
    left: 12px;
}

.wa__popup_chat_box .wa__popup_heading_sm:before {
    top: 19px;
    left: 11px;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_title {
    padding-top: 2px;
    padding-bottom: 3;
    color: #ffffff;
    font-size: 18px;
    line-height: 24px;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_intro {
    padding-top: 4px;
    font-size: 12px;
    line-height: 20px;
}

.wa__popup_chat_box .wa__popup_heading_sm .wa__popup_intro {
    padding-top: 0px;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a {
    display: inline-block;
    color: #ffffff;
    text-decoration: none;
}

.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a:hover,
.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a:focus,
.wa__popup_chat_box .wa__popup_heading .wa__popup_intro a:active {
    text-decoration: underline;
}

.wa__popup_chat_box .wa__popup_notice {
    font-size: 11px;
    color: #a5abb7;
    font-weight: 500;
    padding: 0 3px;
}

.wa__popup_chat_box .wa__popup_content {
    background: #ffffff;
    padding: 13px 20px 21px 19px;
    text-align: center;
}

.wa__popup_chat_box .wa__popup_content_left {
    text-align: left;
}

.wa__popup_chat_box .wa__popup_avatar {
    position: absolute;
    overflow: hidden;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    left: 12px;
    top: 12px;
}

.wa__popup_chat_box .wa__popup_avatar.nta-default-avt {
    border-radius: unset;
    -webkit-border-radius: unset;
    -moz-border-radius: unset;
}

.wa__popup_chat_box .wa__stt {
    padding: 13px 40px 12px 74px;
    position: relative;
    text-decoration: none;
    display: table;
    width: 100%;
    border-left: 2px solid #2db742;
    background: #f5f7f9;
    border-radius: 2px 4px 2px 4px;
    -webkit-border-radius: 2px 4px 2px 4px;
    -moz-border-radius: 2px 4px 2px 4px;
}

.wa__popup_chat_box .wa__stt:after {
    content: '';
    background: url('images/whatsapp_logo_green.svg') 0 0 no-repeat;
    position: absolute;
    right: 14px;
    top: 26px;
    width: 20px;
    height: 20px;
    background-size: 100% 100%;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
}

.wa__popup_chat_box .wa__stt.wa__stt_offline:after {
    background-image: url('../../images/whatsapp_logo_gray_sm.svg');
}

.wa__popup_chat_box .wa__stt.wa__stt_online {
    transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
}

.wa__popup_chat_box .wa__stt.wa__stt_online:hover,
.wa__popup_chat_box .wa__stt.wa__stt_online:active,
.wa__popup_chat_box .wa__stt.wa__stt_online:focus {
    background: #ffffff;
    box-shadow: 0px 7px 15px 1px rgba(55, 62, 70, 0.07);
    -webkit-box-shadow: 0px 7px 15px 1px rgba(55, 62, 70, 0.07);
    -moz-box-shadow: 0px 7px 15px 1px rgba(55, 62, 70, 0.07);
}

.wa__popup_content_list .wa__popup_content_item {
    margin: 14px 0 0;
    transform: translate(0, 20px);
    -webkit-transform: translate(0, 20px);
    -moz-transform: translate(0, 20px);
    will-change: opacity, transform;
    opacity: 0;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item {
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    transition-delay: 2.1s;
    -webkit-transition-delay: 2.1s;
    -moz-transition-delay: 2.1s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(1) {
    transition-delay: 0.3s;
    -webkit-transition-delay: 0.3s;
    -moz-transition-delay: 0.3s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(2) {
    transition-delay: 0.5s;
    -webkit-transition-delay: 0.5s;
    -moz-transition-delay: 0.5s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(3) {
    transition-delay: 0.7s;
    -webkit-transition-delay: 0.7s;
    -moz-transition-delay: 0.7s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(4) {
    transition-delay: 0.9s;
    -webkit-transition-delay: 0.9s;
    -moz-transition-delay: 0.9s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(5) {
    transition-delay: 1.1s;
    -webkit-transition-delay: 1.1s;
    -moz-transition-delay: 1.1s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(6) {
    transition-delay: 1.3s;
    -webkit-transition-delay: 1.3s;
    -moz-transition-delay: 1.3s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(7) {
    transition-delay: 1.5s;
    -webkit-transition-delay: 1.5s;
    -moz-transition-delay: 1.5s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(8) {
    transition-delay: 1.7s;
    -webkit-transition-delay: 1.7s;
    -moz-transition-delay: 1.7s;
}

.wa__popup_chat_box.wa__pending .wa__popup_content_list .wa__popup_content_item:nth-child(9) {
    transition-delay: 1.9s;
    -webkit-transition-delay: 1.9s;
    -moz-transition-delay: 1.9s;
}

.wa__popup_chat_box.wa__lauch .wa__popup_content_list .wa__popup_content_item {
    opacity: 1;
    transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
}

.wa__popup_content_list .wa__popup_content_item .wa__member_name {
    font-size: 14px;
    color: #363c47;
    line-height: 1.188em !important;
}

.wa__popup_content_list .wa__popup_content_item .wa__member_duty {
    font-size: 11px;
    color: #989b9f;
    padding: 2px 0 0;
    line-height: 1.125em !important;
}

.wa__popup_content_list .wa__popup_content_item .wa__member_status {
    color: #ffd715;
    font-size: 10px;
    padding: 5px 0 0;
    line-height: 1.125em !important;
}

.wa__popup_content_list .wa__popup_content_item .wa__popup_txt {
    display: table-cell;
    vertical-align: middle;
    min-height: 48px;
    height: 48px;
}

.wa__popup_content_list .wa__popup_content_item .wa__stt_offline {
    border-left-color: #c0c5ca;
}

.wa__popup_avt_list {
    font-size: 0;
    margin: 7px 0 24px;
}

.wa__popup_avt_list .wa__popup_avt_item {
    display: inline-block;
    position: relative;
    width: 46px;
}

.wa__popup_avt_list .wa__popup_avt_img {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    position: relative;
    overflow: hidden;
    border: 2px solid #ffffff;
    left: -7px;
}

.wa__popup_call_btn {
    background: #2db742;
    color: #ffffff;
    text-decoration: none;
    display: inline-block;
    width: 275px;
    max-width: 100%;
    font-size: 16px;
    padding: 14px 10px;
    border-radius: 24px;
    -webkit-border-radius: 24px;
    -moz-border-radius: 24px;
    margin: 25px 0 15px;
    box-shadow: 0px 8px 17px 2px rgba(13, 15, 18, 0.2);
    -webkit-box-shadow: 0px 8px 17px 2px rgba(13, 15, 18, 0.2);
    -moz-box-shadow: 0px 8px 17px 2px rgba(13, 15, 18, 0.2);
}

.wa__popup_call_btn.wa__popup_call_btn_lg:before {
    content: '';
    display: inline-block;
    width: 20px;
    height: 20px;
    position: relative;
    background: url('images/whatsapp_logo_green_sm.svg') 0 0 no-repeat;
    background-size: 100% 100%;
    -webkit-background-size: 100% 100%;
    -moz-background-size: 100% 100%;
    vertical-align: top;
    top: 0px;
    margin-right: -19px;
    left: -31px;
    transition: 0.2s ease background-image;
    -webkit-transition: 0.2s ease background-image;
    -moz-transition: 0.2s ease background-image;
}

.wa__popup_call_btn.wa__popup_call_btn_lg:hover:before,
.wa__popup_call_btn.wa__popup_call_btn_lg:focus:before,
.wa__popup_call_btn.wa__popup_call_btn_lg:active:before {
    background-image: url('images/whatsapp_logo.svg')
}

.wa__popup_chat_box_gray {
    border-radius: 2px 2px 8px 8px;
}

.wa__popup_chat_box_gray .wa__popup_heading_gray {
    background: #f8f8f8;
    border-top: 3px solid #2db742;
    color: #868c9a;
    font-weight: 500;
}

.wa__popup_chat_box_gray .wa__popup_heading_gray .wa__popup_title {
    color: #595b60;
}

.wa__popup_chat_box_gray .wa__popup_heading_gray:before {
    content: '';
    background: url(images/whatsapp_logo_green.svg) center top no-repeat;
    background-size: 33px;
    display: block;
    width: 55px;
    height: 33px;
    position: absolute;
    top: 20px;
    left: 12px;
}

.wa__popup_chat_box_gray .wa__popup_heading_gray .wa__popup_intro a {
    color: #595b60;
}

.wa__popup_chat_box_ct {
    width: 384px;
    text-align: center;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct {
    text-align: center;
    padding: 18px 0 18px;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct:before {
    content: '';
    background: url(images/whatsapp_logo.svg) center top no-repeat;
    background-size: 30px;
    display: block;
    width: 30px;
    height: 31px;
    position: absolute;
    top: 15px;
    left: 72px;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct .wa__popup_title {
    padding-left: 22px;
    padding-bottom: 14px;
}

.wa__popup_chat_box_ct .wa__popup_heading_ct .wa__popup_intro {
    margin-top: -5px;
    line-height: 12px;
}

.wa__popup_chat_box_ct .wa__popup_ct_avt_list:after {
    content: '';
    clear: both;
    display: block;
}

.wa__popup_chat_box_ct .wa__popup_ct_content {
    background: #ffffff;
    padding: 0 0 14px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content .wa__popup_notice {
    padding-top: 18px;
    padding-bottom: 15px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item {
    width: 33%;
    float: left;
    font-size: 10px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item a {
    text-decoration: none;
    color: #989b9f;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__popup_ct_txt {
    padding-top: 8px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_name {
    color: #363c47;
    font-size: 13px;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_duty {
    color: #989b9f;
    padding: 3px 0 0;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_stt_online {
    color: #2db742;
    font-size: 9px;
    line-height: 12px;
    display: inline-block;
    padding: 3px 0 0 16px;
    background: url('images/whatsapp_logo_green.svg') 0 3px no-repeat;
    background-size: 12px auto;
    -webkit-background-size: 12px auto;
    -moz-background-size: 12px auto;
}

.wa__popup_chat_box_ct .wa__popup_ct_content_item .wa__member_stt_offline {
    color: #ffd715;
    font-size: 9px;
    line-height: 12px;
    padding: 2px 0 0;
}


.wa__popup_chat_box_ct .wa__popup_ct_avatar img {
    border-radius: 50%
}

.wa__popup_chat_box_ct .wa__popup_ct_call_btn {
    width: 97px;
    font-size: 11px;
    padding: 9px 10px 11px;
    margin: 15px 0 15px;
}

/* ^^^--popup--^^^ */

/* VVV--popup button--VVV */
.wa__btn_popup {
    position: fixed;
    right: 30px;
    bottom: 40px;
    cursor: pointer;
    font-family: var(--mpr-font-body);
    z-index: 999;
}

.wa__btn_popup .wa__btn_popup_icon {
    width: 56px;
    height: 56px;
    background: #2db742;
    border-radius: 50%;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    box-shadow: 0px 6px 8px 2px rgba(0, 0, 0, 0.14);
    -webkit-box-shadow: 0px 6px 8px 2px rgba(0, 0, 0, 0.14);
    -moz-box-shadow: 0px 6px 8px 2px rgba(0, 0, 0, 0.14);
}

.wa__btn_popup .wa__btn_popup_icon:before {
    content: '';
    position: absolute;
    z-index: 1;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: transparent url('images/whatsapp_logo.svg') center center no-repeat;
    background-size: 30px auto;
    -webkit-background-size: 30px auto;
    -moz-background-size: 30px auto;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
}

.wa__btn_popup .wa__btn_popup_icon:after {
    content: '';
    opacity: 0;
    position: absolute;
    z-index: 2;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    background: transparent url('images/x_icon.svg') center center no-repeat;
    background-size: 14px auto;
    -webkit-background-size: 14px auto;
    -moz-background-size: 14px auto;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
    -ms-transform: scale(0) rotate(-360deg);
    transform: scale(0) rotate(-360deg);
    -webkit-transform: scale(0) rotate(-360deg);
    -moz-transform: scale(0) rotate(-360deg);
}

.wa__btn_popup.wa__active .wa__btn_popup_icon:before {
    opacity: 0;
    -ms-transform: scale(0) rotate(360deg);
    transform: scale(0) rotate(360deg);
    -webkit-transform: scale(0) rotate(360deg);
    -moz-transform: scale(0) rotate(360deg);
}

.wa__btn_popup.wa__active .wa__btn_popup_icon:after {
    opacity: 1;
    -ms-transform: scale(1) rotate(0deg);
    transform: scale(1) rotate(0deg);
    -webkit-transform: scale(1) rotate(0deg);
    -moz-transform: scale(1) rotate(0deg);
}

.wa__btn_popup .wa__btn_popup_txt {
    position: absolute;
    width: 156px;
    right: 100%;
    background-color: #f5f7f9;
    font-size: 12px;
    color: #43474e;
    /*top: 15px;*/
    top: 7px;
    /* top: 50%;
    transform: translate(0,-50%);
    -moz-transform: translate(0,-50%);
    -webkit-transform: translate(0,-50%); */
    padding: 7px 0 7px 12px;
    margin-right: 7px;
    letter-spacing: -0.03em;
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    transition: 0.4s ease all;
    -webkit-transition: 0.4s ease all;
    -moz-transition: 0.4s ease all;
}

.wa__btn_popup.wa__active .wa__btn_popup_txt {
    -ms-transform: translate(0, 15px);
    transform: translate(0, 15px);
    -webkit-transform: translate(0, 15px);
    -moz-transform: translate(0, 15px);
    opacity: 0;
    visibility: hidden;
}

/* ^^^--popup button--^^^ */


/* home */

/* Similar trips Swiper */
.mpr-similar-trips {
    margin-top: 20px;
    overflow: hidden;
    position: relative;
}

.mpr-similar-trips__head {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 14px;
    min-height: 42px;
}

.mpr-similar-trips__nav {
    align-items: center;
    background: rgba(255, 255, 255, .82);
    border: 1px solid rgba(24, 32, 26, .08);
    border-radius: 999px;
    box-shadow: 0 10px 28px rgba(24, 32, 26, .09);
    display: inline-flex;
    gap: 6px;
    padding: 5px;
}

.mpr-similar-trips__button {
    align-items: center;
    background: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #18201a;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    transition: background-color .22s ease, color .22s ease, transform .22s ease, box-shadow .22s ease;
    width: 36px;
}

.mpr-similar-trips__button:hover {
    background: #a64b32;
    box-shadow: 0 8px 20px rgba(166, 75, 50, .25);
    color: #fff;
    transform: translateY(-1px);
}

.mpr-similar-trips__button:active {
    transform: translateY(0) scale(.96);
}

.mpr-similar-trips__button.swiper-button-disabled {
    cursor: not-allowed;
    opacity: .38;
    transform: none;
}

.mpr-similar-trips__swiper {
    overflow: hidden;
    padding: 4px 2px 44px;
}

.mpr-similar-trips__swiper .swiper-slide {
    height: auto;
}


.mpr-similar-trips__pagination {
    align-items: center;
    bottom: 4px !important;
    display: flex;
    gap: 7px;
    justify-content: center;
    left: 0;
    position: absolute;
    right: 0;
    z-index: 3;
}

.mpr-similar-trips__pagination .swiper-pagination-bullet {
    background: #9b9b9b !important;
    border-radius: 999px;
    height: 7px;
    margin: 0 !important;
    opacity: .42;
    transform: scale(.86);
    transition: width .28s ease, opacity .28s ease, background-color .28s ease, transform .28s ease;
    width: 7px;
}

.mpr-similar-trips__pagination .swiper-pagination-bullet-active {
    background: #a64b32 !important;
    box-shadow: 0 2px 9px rgba(166, 75, 50, .24);
    opacity: 1;
    transform: scale(1);
    width: 30px;
}

@media (max-width: 767.98px) {
    .mpr-similar-trips__head {
        margin-bottom: 10px;
    }

    .mpr-similar-trips__swiper {
        padding-bottom: 40px;
    }
}





.mpr-tour {
    --ink: #18201a;
    --muted: #667064;
    --line: #e7e7e7;
    --soft: #f6f6f6;
    --accent: #2f6f4e;
    --accent-dark: #214f38;
    --warm: #b8792a;
    color: var(--ink);
    background: #fff;
    font-family: inherit;
}

.mpr-tour a {
    color: inherit;
}

.mpr-hero {
    border-bottom: 1px solid var(--line);
    background: var(--soft);
}

.mpr-hero-media {
    position: relative;
    background: #ffffff;
}

.mpr-hero-grid {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, 1fr);
    height: clamp(190px, 26vw, 330px);
    padding: 8px;
}

.mpr-hero-image {
    border-radius: 6px;
    overflow: hidden;
}

.mpr-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mpr-hero-panel {
    padding: clamp(18px, 3vw, 34px) 0;
}

.mpr-kicker {
    color: var(--accent);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0.55rem;
}

.mpr-title {
    font-size: clamp(1.85rem, 5vw, 3.55rem);
    line-height: 1;
    font-weight: 800;
    letter-spacing: 0;
    margin: 0;
    max-width: 920px;
}

.mpr-places {
    color: var(--muted);
    font-size: 0.96rem;
    line-height: 1.55;
    margin-top: 0.75rem;
    max-width: 920px;
}

.mpr-hero-actions {
    display: flex;
    gap: 0.65rem;
    flex-wrap: wrap;
    margin-top: 1rem;
}

.mpr-btn {
    align-items: center;
    border-radius: 6px;
    display: inline-flex;
    font-weight: 750;
    gap: 0.5rem;
    justify-content: center;
    min-height: 46px;
    padding: 0.72rem 1rem;
    text-decoration: none;
    transition: 0.2s ease;
}

.mpr-btn-primary {
    background: var(--accent);
    border: 1px solid var(--accent);
    color: #fff !important;
}

.mpr-btn-primary:hover {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: #fff !important;
}

.mpr-btn-outline {
    background: #fff;
    border: 1px solid var(--line);
    color: var(--ink) !important;
}

.mpr-btn-outline:hover {
    border-color: var(--accent);
    color: var(--accent) !important;
}

.mpr-summary {
    background: #fff;
    border-bottom: 1px solid var(--line);
}

.mpr-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

.mpr-summary-item {
    border-right: 1px solid var(--line);
    padding: 1rem 0.9rem;
}

.mpr-summary-item:last-child {
    border-right: 0;
}

.mpr-summary-label {
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 700;
    text-transform: uppercase;
}

.mpr-summary-value {
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1.25;
    margin-top: 0.2rem;
}

.mpr-layout {
    padding: clamp(28px, 5vw, 64px) 0;
}

.mpr-main {
    min-width: 0;
}

.mpr-nav {
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    background: rgba(255, 255, 255, 0.78);
    border-bottom: 1px solid rgba(231, 231, 231, 0.7);
    position: sticky;
    top: var(--mpr-sticky-offset, 0px);
    width: 100%;
    z-index: 1030;
    box-shadow: 0 8px 24px rgba(24, 32, 26, 0.08);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease, visibility 0.3s ease;
}

.mpr-nav.mpr-nav-fixed {
    left: 0;
    position: fixed;
    right: 0;
}

.mpr-nav.mpr-nav-hidden {
    opacity: 0 !important;
    pointer-events: none !important;
    transform: translateY(-100%) !important;
    visibility: hidden !important;
}

.mpr-nav-placeholder {
    display: none;
}

.mpr-nav-placeholder.is-active {
    display: block;
    height: var(--mpr-nav-height, 0px);
}

@media (max-width: 767.98px) {
    .mpr-nav {
        position: sticky;
        top: var(--mpr-sticky-offset, 0px);
        z-index: 1030;
    }
}

.mpr-nav-scroll {
    display: flex;
    gap: 0.35rem;
    overflow-x: auto;
    padding: 0.65rem 0;
    position: relative;
    scrollbar-width: none;
}

.mpr-nav-indicator {
    background: var(--accent);
    border-radius: 999px;
    box-shadow: 0 10px 22px rgba(47, 111, 78, 0.24);
    height: var(--mpr-active-height, 0px);
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translate3d(var(--mpr-active-x, 0px), -50%, 0);
    transition:
        transform 0.46s cubic-bezier(0.22, 1, 0.36, 1),
        width 0.46s cubic-bezier(0.22, 1, 0.36, 1),
        height 0.32s ease,
        opacity 0.18s ease;
    will-change: transform, width;
    width: var(--mpr-active-width, 0px);
    z-index: 0;
}

.mpr-nav-scroll.has-indicator .mpr-nav-indicator {
    opacity: 1;
}

.mpr-nav-scroll::-webkit-scrollbar {
    display: none;
}

.mpr-nav a {
    align-items: center;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--muted);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.82rem;
    gap: 0.42rem;
    font-weight: 750;
    letter-spacing: 0.04em;
    padding: 0.52rem 0.85rem;
    position: relative;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    z-index: 1;
    transition:
        background-color 0.24s ease,
        border-color 0.24s ease,
        box-shadow 0.24s ease,
        color 0.2s ease,
        transform 0.24s ease;
}

.mpr-nav a i {
    color: currentColor;
    font-size: 0.9em;
    line-height: 1;
}

.mpr-nav a:hover {
    background: var(--accent);
    border-color: var(--accent);
    box-shadow: 0 8px 18px rgba(47, 111, 78, 0.22);
    color: #fff;
    transform: translateY(-1px);
}

.mpr-nav a.mpr-nav-book-online {
    background: #ffd715;
    border-color: #ffd715;
    color: #026b39;
    font-weight: 900;
}

.mpr-nav a.mpr-nav-book-online:hover,
.mpr-nav a.mpr-nav-book-online.active {
    background: #ffd715;
    border-color: #ffd715;
    box-shadow: 0 8px 18px rgba(255, 215, 21, 0.28);
    color: #026b39;
}

.mpr-nav a.active {
    background: var(--accent);
    color: #fff;
    border-color: var(--accent);
    box-shadow: 0 8px 18px rgba(47, 111, 78, 0.22);
}

.mpr-nav-scroll.has-indicator a.active {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    transform: none;
}

.mpr-nav-scroll.has-indicator a.mpr-nav-book-online.active {
    background: #ffd715;
    border-color: #ffd715;
    box-shadow: 0 8px 18px rgba(255, 215, 21, 0.28);
    color: #026b39;
}

@media (prefers-reduced-motion: reduce) {
    .mpr-nav-indicator,
    .mpr-nav a {
        transition: none;
    }
}

.mpr-section {
    border-bottom: 1px solid var(--line);
    padding: clamp(26px, 4vw, 46px) 0;
    position: relative;
    scroll-margin-top: var(--mpr-anchor-offset, 92px);
    background: linear-gradient(135deg, rgba(2, 107, 57, 0.03) 0%, rgba(255, 255, 255, 0) 40%);
}


section#hero {
    padding: 0;
    margin: 0;
}

.mpr-section:first-child {
    padding-top: 0;
}

.mpr-section-title {
    text-transform: uppercase;
    align-items: baseline;
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1.2rem;
    padding-left: 0;
    position: relative;
}

.mpr-section-title::before {
    background: var(--accent);
    border-radius: 0;
    content: "";
    height: 35px;
    left: -38px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: background-color 0.24s ease;
    width: 5px;
}

.mpr-section-title:hover::before,
.mpr-section-title:focus-within::before {
    background: var(--warm);
}

.mpr-section-title span {
    color: var(--warm);
    font-size: 0.78rem;
    font-weight: 800;
}

.mpr-section-title h2 {
    font-size: 1.3rem;
    font-weight: 850;
    margin: 0;
}

.mpr-itinerary-head {
    align-items: center;
    justify-content: space-between;
}

.mpr-itinerary-toggle {
    background: #fff;
    border: 1px solid #111827;
    border-radius: 999px;
    color: #111827;
    flex: 0 0 auto;
    font-size: 0.95rem;
    font-weight: 850;
    line-height: 1;
    padding: 0.9rem 1.35rem;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.mpr-itinerary-toggle:hover,
.mpr-itinerary-toggle:focus {
    background: #111827;
    color: #fff;
    transform: translateY(-1px);
}

.mpr-content {
    color: #2d352d;
    font-size: 1rem;
    line-height: 1.75;
}

.mpr-content :is(h1, h2, h3, h4, h5, h6) {
    color: var(--ink);
    font-weight: 800;
    letter-spacing: 0;
    margin-top: 1.2rem;
}

.mpr-content ul,
.mpr-content ol {
    padding-left: 1.15rem;
}

.mpr-content li {
    margin-bottom: 0.45rem;
}

.mpr-details-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border: 1px solid var(--line);
    border-radius: 8px;
    overflow: hidden;
}

.mpr-detail {
    align-items: flex-start;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 0.75rem;
    padding: 1rem;
}

.mpr-detail:nth-child(odd) {
    border-right: 1px solid var(--line);
}

.mpr-detail:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.mpr-detail i {
    color: var(--accent);
    margin-top: 0.2rem;
    width: 18px;
}

.mpr-detail-label {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 750;
    text-transform: uppercase;
}

.mpr-detail-value {
    font-weight: 750;
    line-height: 1.35;
    margin-top: 0.1rem;
}

.mpr-itinerary {
    border-bottom: 1px solid #e5e7eb;
}

.mpr-day {
    background: transparent;
    border: 0;
    border-top: 1px solid #e5e7eb;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
}

.mpr-day-panel.collapse:not(.show) {
    display: none;
}

.mpr-day-panel.collapsing {
    height: 0;
    overflow: hidden;
    transition: height 0.32s ease;
}

.mpr-day-panel.collapse.show {
    display: block;
}

.mpr-day-button {
    align-items: center;
    background: transparent;
    border: 0;
    color: var(--ink);
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
    padding: 1.18rem 0;
    text-align: left;
    width: 100%;
}

.mpr-day-button[aria-expanded="true"] {
    background: transparent;
    box-shadow: none;
}

.mpr-day-button::after {
    background-image: none;
    border-bottom: 2px solid currentColor;
    border-right: 2px solid currentColor;
    color: var(--ink);
    content: "";
    flex: 0 0 auto;
    height: 0.58rem;
    margin-left: 1rem;
    transform: rotate(45deg);
    transition: transform 0.22s ease;
    width: 0.58rem;
}

.mpr-day-button[aria-expanded="true"]::after {
    transform: rotate(225deg);
}

.mpr-day-button:focus {
    box-shadow: none;
    outline: 2px solid rgba(47, 111, 78, 0.18);
    outline-offset: 4px;
}

.mpr-day-text {
    display: flex;
    flex-direction: column;
    gap: 0.22rem;
    min-width: 0;
}

.mpr-day-label {
    color: var(--accent);
    display: block;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.mpr-day-title {
    color: #111827;
    display: block;
    font-size: clamp(0.98rem, 1.45vw, 1.22rem);
    font-weight: 800;
    line-height: 1.28;
}

.mpr-day-body {
    color: #111827;
    font-size: clamp(1rem, 1.55vw, 1.16rem);
    line-height: 1.72;
    padding: 0 0 3rem;
}

.mpr-day-body .mpr-content {
    color: inherit;
    font-size: inherit;
    line-height: inherit;
}

.mpr-gallery-strip {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, 1fr);
    margin-top: 1rem;
}

.mpr-gallery-strip img,
.mpr-gallery-grid img {
    aspect-ratio: 4/3;
    border-radius: 6px;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

/* === Itinerary Gallery Swiper Slider === */
.mpr-gallery-strip--slider {
    display: block;
    position: relative;
    overflow: hidden;
    padding-bottom: 22px;
}

.mpr-gallery-strip--slider .swiper-slide {
    height: auto;
}

.mpr-gallery-strip--slider .swiper-slide a {
    display: block;
    height: 100%;
    width: 100%;
}

.mpr-gallery-strip--slider .swiper-slide img {
    aspect-ratio: 4/3;
    border-radius: 6px;
    display: block;
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.mpr-gallery-swiper-prev,
.mpr-gallery-swiper-next {
    background: #ffffff;
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    color: #171717;
    height: 32px;
    margin-top: -16px;
    top: calc(50% - 11px);
    transition: all 0.2s ease;
    width: 32px;
}

.mpr-gallery-swiper-prev:after,
.mpr-gallery-swiper-next:after {
    font-size: 11px;
    font-weight: 900;
}

.mpr-gallery-swiper-prev:hover,
.mpr-gallery-swiper-next:hover {
    background: #026b39;
    border-color: #026b39;
    color: #ffffff;
}

.mpr-gallery-swiper-prev {
    left: 8px;
}

.mpr-gallery-swiper-next {
    right: 8px;
}

.mpr-gallery-swiper-prev.swiper-button-disabled,
.mpr-gallery-swiper-next.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

.mpr-gallery-swiper-pagination {
    bottom: 0 !important;
}

.mpr-gallery-swiper-pagination .swiper-pagination-bullet {
    background: #9ca3af;
    height: 6px;
    opacity: 0.6;
    transition: all 0.2s ease;
    width: 6px;
}

.mpr-gallery-swiper-pagination .swiper-pagination-bullet-active {
    background: #026b39;
    border-radius: 4px;
    opacity: 1;
    width: 16px;
}

.mpr-two-col {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mpr-panel {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    padding: 1.1rem;
}

.mpr-panel h3 {
    align-items: center;
    display: flex;
    font-size: 1.08rem;
    gap: 0.5rem;
    margin: 0 0 0.75rem;
}

.mpr-panel h3 i.fa-check {
    color: var(--accent);
}

.mpr-panel h3 i.fa-times {
    color: #9d3d2e;
}

.mpr-accordion .accordion-item {
    border: 1px solid var(--line);
    border-radius: 8px;
    margin-bottom: 0.75rem;
    overflow: hidden;
}

.mpr-accordion .accordion-button {
    box-shadow: none;
    font-weight: 800;
}

.mpr-accordion .accordion-button:not(.collapsed) {
    background: var(--soft);
    color: var(--ink);
}

.mpr-gallery-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(3, 1fr);
}

.mpr-booking-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 8px;
    box-shadow: 0 18px 45px rgba(24, 32, 26, 0.08);
    overflow: hidden;
    position: sticky;
    top: 76px;
}

.mpr-booking-head {
    background: var(--ink);
    color: #fff;
    padding: 1.1rem;
}

.mpr-booking-head .label {
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.74rem;
    font-weight: 750;
    text-transform: uppercase;
}

.mpr-booking-price {
    font-size: 2rem;
    font-weight: 900;
    line-height: 1;
    margin-top: 0.25rem;
}

.mpr-booking-price small {
    font-size: 0.82rem;
    font-weight: 700;
}

.mpr-booking-body {
    padding: 1.1rem;
}

.mpr-form-label {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 800;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
}

.mpr-total {
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 6px;
    margin-top: 0.85rem;
    padding: 0.75rem;
}

.mpr-total-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.25rem 0;
}

.mpr-total-row strong {
    font-weight: 850;
}

.mpr-advisor {
    border-top: 1px solid var(--line);
    margin-top: 1rem;
    padding-top: 1rem;
}

.mpr-advisor img {
    border-radius: 50%;
    height: 48px;
    object-fit: cover;
    width: 48px;
}

.mpr-small-note {
    color: var(--muted);
    font-size: 0.88rem;
    line-height: 1.55;
}

.mpr-tripadvisor {
    border-top: 1px solid var(--line);
    margin-top: 1rem;
    padding-top: 1rem;
}

.mpr-tripadvisor img {
    max-width: 190px;
    width: 100%;
}

.mpr-mobile-cta {
    display: none;
}

.Zebra_DatePicker,
#contenedor-calendario {
    max-width: 100%;
}

.csp-mega-columns {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 24px;
}

@media (max-width: 991px) {
    .csp-mega-columns {
        grid-auto-flow: row;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .csp-mega-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .mpr-summary-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mpr-summary-item:nth-child(2) {
        border-right: 0;
    }

    .mpr-summary-item:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }

    .mpr-booking-card {
        margin-top: 1.5rem;
        position: static;
    }

    .mpr-layout {
        padding-bottom: 90px;
    }

    .mpr-mobile-cta {
        align-items: center;
        background: #fff;
        border-top: 1px solid var(--line);
        bottom: 0;
        box-shadow: 0 -8px 24px rgba(24, 32, 26, 0.08);
        display: grid;
        gap: 0.65rem;
        grid-template-columns: 1fr 1.2fr;
        left: 0;
        padding: 0.65rem 0.85rem;
        position: fixed;
        right: 0;
        z-index: 60;
    }

    .mpr-mobile-cta .price {
        font-size: 0.82rem;
        line-height: 1.2;
    }

    .mpr-mobile-cta .price strong {
        display: block;
        font-size: 1.15rem;
    }
}

@media (max-width: 767.98px) {
    .mpr-hero-grid {
        grid-template-columns: repeat(3, 78vw);
        height: 210px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .mpr-hero-image {
        scroll-snap-align: start;
    }

    .mpr-hero-panel {
        padding: 18px 0;
    }

    .mpr-title {
        font-size: clamp(1.85rem, 10vw, 2.75rem);
    }

    .mpr-summary-grid,
    .mpr-details-grid,
    .mpr-two-col,
    .mpr-gallery-grid {
        grid-template-columns: 1fr;
    }

    .mpr-summary-item,
    .mpr-detail,
    .mpr-detail:nth-child(odd) {
        border-right: 0;
    }

    .mpr-detail:nth-last-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }

    .mpr-detail:last-child,
    .mpr-summary-item:last-child {
        border-bottom: 0;
    }

    .mpr-gallery-strip {
        grid-template-columns: repeat(2, 1fr);
    }

    .mpr-section {
        scroll-margin-top: 70px;
    }

    .mpr-btn {
        width: 100%;
    }
}

.mpr-hero-swiper {
    height: clamp(230px, 30vw, 380px);
    padding: 5px;
}

.mpr-hero-swiper .swiper-slide {
    border-radius: 8px;
    overflow: hidden;
}

.mpr-hero-mobile-image {
    display: none;
    height: 260px;
    padding: 8px;
}

.mpr-hero-mobile-image img {
    border-radius: 8px;
}

.mpr-hero .swiper-pagination {
    align-items: center;
    bottom: 16px !important;
    display: flex;
    gap: 7px;
    left: 16px !important;
    text-align: left;
    width: auto !important;
}

.mpr-hero .swiper-pagination-bullet {
    background: #8b9389;
    border-radius: 999px;
    height: 7px;
    margin: 0 !important;
    opacity: 0.42;
    transform: scale(0.86);
    transition: width 0.28s ease, opacity 0.28s ease, background-color 0.28s ease,
    transform 0.28s ease;
    width: 7px;
}

.mpr-hero .swiper-pagination-bullet-active {
    background: var(--accent);
    box-shadow: 0 2px 8px rgba(47, 111, 78, 0.25);
    opacity: 1;
    transform: scale(1);
    width: 28px;
}

.mpr-hero-controls {
    align-items: center;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(24, 32, 26, 0.08);
    border-radius: 999px;
    bottom: 10px;
    box-shadow: 0 10px 26px rgba(24, 32, 26, 0.12);
    display: flex;
    gap: 5px;
    padding: 4px;
    position: absolute;
    right: 14px;
    z-index: 4;
}

.mpr-hero .swiper-button-next,
.mpr-hero .swiper-button-prev {
    background: #fff;
    border: 1px solid transparent;
    border-radius: 999px;
    color: var(--ink);
    height: 36px;
    left: auto;
    margin: 0;
    position: static;
    right: auto;
    top: auto;
    transition: background-color 0.22s ease, color 0.22s ease,
    transform 0.22s ease, box-shadow 0.22s ease;
    width: 36px;
}

.mpr-hero .swiper-button-next:hover,
.mpr-hero .swiper-button-prev:hover {
    background: var(--accent);
    box-shadow: 0 8px 18px rgba(47, 111, 78, 0.25);
    color: #fff;
    transform: translateY(-1px);
}

.mpr-hero .swiper-button-next:active,
.mpr-hero .swiper-button-prev:active {
    transform: translateY(0) scale(0.96);
}

.mpr-hero .swiper-button-next:after,
.mpr-hero .swiper-button-prev:after {
    font-size: 12px;
    font-weight: 900;
}

.mpr-detail {
    background: #fff;
}

.mpr-detail i {
    align-items: center;
    background: var(--soft);
    border: 1px solid var(--line);
    border-radius: 999px;
    display: flex;
    height: 34px;
    justify-content: center;
    margin-top: 0;
    width: 34px;
}

.mpr-inclusion-tabs {
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}

.mpr-inclusion-tabs .nav {
    background: var(--soft);
    gap: 0.35rem;
    padding: 0.5rem;
}

.mpr-inclusion-tabs .nav-link {
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--muted);
    font-weight: 800;
}

.mpr-inclusion-tabs .nav-link.active {
    background: #fff;
    border-color: var(--line);
    color: var(--ink);
}

.mpr-inclusion-tabs .tab-content {
    padding: 1.2rem;
}

.mpr-inclusion-columns {
    border-bottom: 1px solid var(--line);
    border-top: 1px solid var(--line);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    position: relative;
}

.mpr-inclusion-columns::before {
    background: linear-gradient(180deg, transparent, var(--line) 12%, var(--line) 88%, transparent);
    content: "";
    height: 100%;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 1px;
}

.mpr-inclusion-column {
    padding: 1.5rem 0 0 0;
}

.mpr-inclusion-column h3 {
    align-items: center;
    color: var(--ink);
    display: flex;
    font-family: var(--mpr-font-heading);
    font-size: clamp(1.08rem, 1.7vw, 1.38rem);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
    margin: 0 0 1.1rem;
}

.mpr-inclusion-column h3 span {
    border-bottom: 2px solid currentColor;
    padding-bottom: 0.35rem;
}

.mpr-inclusion-column-included h3 {
    color: #167347;
}

.mpr-inclusion-column-not h3 {
    color: #b4232a;
}

.mpr-inclusion-column .mpr-content ul,
.mpr-inclusion-column .mpr-content ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mpr-inclusion-column .mpr-content li {
    list-style: none;
    margin: 0 0 0.82rem;
    padding-left: 1.25rem;
    position: relative;
}

.mpr-inclusion-column .mpr-content li::before {
    border-radius: 999px;
    content: "";
    height: 0.5rem;
    left: 0;
    position: absolute;
    top: 0.68em;
    transform: translateY(-50%);
    width: 0.5rem;
}

.mpr-inclusion-column-included .mpr-content li::before {
    background: #22a05a;
    box-shadow: 0 0 0 3px rgba(34, 160, 90, 0.12);
}

.mpr-inclusion-column-not .mpr-content li::before {
    background: #d23b43;
    box-shadow: 0 0 0 3px rgba(210, 59, 67, 0.12);
}

/* Inclusions Accordion — inner headings */
.mpr-inclusion-body h3,
.mpr-inclusion-body h4,
.mpr-inclusion-body h5,
.mpr-inclusion-body h6 {
    color: #000;
    font-size: 1rem;
    font-weight: 700;
    margin: 1rem 0 0.5rem;
}

.mpr-inclusion-body .mpr-content ul,
.mpr-inclusion-body .mpr-content ol {
    list-style: none;
    margin: 0;
    padding: 0;
}

.mpr-inclusion-body .mpr-content li {
    list-style: none;
    margin: 0 0 0.82rem;
    padding-left: 1.25rem;
    position: relative;
}

.mpr-inclusion-body .mpr-content li::before {
    border-radius: 999px;
    content: "";
    height: 0.5rem;
    left: 0;
    position: absolute;
    top: 0.68em;
    transform: translateY(-50%);
    width: 0.5rem;
}

.mpr-inclusion-body-included .mpr-content li::before {
    background: #22a05a;
    box-shadow: 0 0 0 3px rgba(34, 160, 90, 0.12);
}

.mpr-inclusion-body-not .mpr-content li::before {
    background: #d23b43;
    box-shadow: 0 0 0 3px rgba(210, 59, 67, 0.12);
}

/* Why Choose Us — collapsible section */
.mpr-wcu-collapse-wrap {
    position: relative;
}

/* === Single Tour - Why Choose Us Headings (h3 a h6) === */
.mpr-wcu-collapse-wrap :is(h3, h4, h5, h6) {
    font-size: 1rem;
    line-height: 1.6;
    margin-top: 1rem;
    margin-bottom: 0.5rem;
}

.mpr-wcu-inner {
    position: relative;
    max-height: 220px;
    overflow: hidden;
    transition: max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1);
}

.mpr-wcu-inner.expanded {
    max-height: 4000px;
}

.mpr-wcu-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 90px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    pointer-events: none;
    transition: opacity 0.4s ease;
}

.mpr-wcu-fade.hidden {
    opacity: 0;
}

.mpr-price-top {
    align-items: center;
    border-bottom: 1px solid var(--line);
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
}

.mpr-price-top strong {
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1;
}
/* === Single Tour - mpr-price-top Table & Plans Styles === */
.mpr-price-top {
    border-bottom: 1px solid var(--line);
    margin-bottom: 1.25rem;
    padding-bottom: 1.25rem;
}

.mpr-price-top--promo {
    display: block;
}

.mpr-price-top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1rem;
    flex-wrap: wrap;
}

.mpr-price-top-heading-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.mpr-price-top-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #171717;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: -0.01em;
}

.mpr-price-top-subtitle {
    font-size: 0.8rem;
    color: #737373;
    margin: 0;
}

/* === Tour Detail - Ocultar acción del top bar de precios en Mobile === */
@media (max-width: 767.98px) {
    .mpr-price-top-action {
        display: none !important;
    }
}

/* === Tour Detail - Condición y Descripción de ítem en Precios Escalables Personalizados === */
.mpr-price-condition-text {
    font-size: 0.88rem;
    color: #333333;
    font-weight: 500;
    line-height: 1.35;
}

.mpr-price-item-desc {
    font-size: 0.8rem;
    color: #737373;
    line-height: 1.4;
    margin-top: 3px;
}

/* === Tour Detail - Tabla de Precios (mpr-pricing-table) === */
.mpr-pricing-table-wrap {
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    background: #ffffff;
    box-shadow: 0 4px 18px rgba(0, 0, 0, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04);
}

.mpr-pricing-table {
    margin-bottom: 0;
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    background-color: #ffffff;
}

/* Diseño refinado y nítido para thead */
.mpr-pricing-table thead {
    background-color: #f8fafc;
}

.mpr-pricing-table thead th {
    background-color: #f8fafc;
    color: #1e293b;
    font-size: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    padding: 1rem 1.25rem;
    border-bottom: 2px solid #e2e8f0;
    border-top: none;
    white-space: nowrap;
    vertical-align: middle;
}

.mpr-pricing-table thead th:first-child {
    padding-left: 1.35rem;
}

.mpr-pricing-table thead th:last-child {
    padding-right: 1.35rem;
}

.mpr-table-th-note {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    color: #475569;
    background-color: #e2e8f0;
    padding: 2px 8px;
    border-radius: 4px;
    margin-top: 4px;
    line-height: 1.25;
}

.mpr-pricing-table tbody tr {
    transition: background-color 0.15s ease;
}

.mpr-pricing-table tbody td {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid #f1f5f9;
    border-top: none;
    font-size: 0.95rem;
    color: #1e293b;
    vertical-align: middle;
    background-color: #ffffff;
    transition: background-color 0.15s ease;
}

.mpr-pricing-table tbody td:first-child {
    padding-left: 1.35rem;
}

.mpr-pricing-table tbody td:last-child {
    padding-right: 1.35rem;
}

.mpr-pricing-table tbody tr:last-child td {
    border-bottom: none;
}

/* Efecto hover suave, neutro y limpio (sin tonos verdes en columnas) */
.mpr-pricing-table tbody tr:hover td {
    background-color: #f8fafc;
}

.mpr-pricing-table tbody tr:hover .mpr-price-col strong {
    color: #0f172a;
}

/* Iconos de servicio limpios sin fondo de caja verde */
.mpr-price-table-service {
    font-weight: 600;
    color: #1e293b;
}

.mpr-pricing-table tbody td i[class*="fa-"] {
    display: inline-block;
    color: #026b39 !important;
    font-size: 1rem;
    margin-right: 0.55rem;
    vertical-align: -1px;
    background: none !important;
    width: auto;
    height: auto;
    border-radius: 0;
    transition: transform 0.2s ease;
}

.mpr-pricing-table tbody tr:hover td i[class*="fa-"] {
    transform: scale(1.15);
}

/* === Tour Detail - Ocultar iconos y compactar bloque de precios y tablas en Mobile === */
@media (max-width: 767.98px) {
    #pricing {
        margin-bottom: 1.25rem;
    }

    .mpr-price-top {
        margin-bottom: 0.75rem;
        padding-bottom: 0.75rem;
    }

    .mpr-price-top-bar {
        margin-bottom: 0.5rem;
        gap: 0.4rem;
    }

    .mpr-price-top-title {
        font-size: 0.88rem;
    }

    .mpr-price-top-subtitle {
        font-size: 0.68rem;
    }

    .mpr-return-pricing-wrap,
    .mpr-private-pricing-wrap,
    .mpr-addons-pricing-wrap {
        margin-top: 0.75rem !important;
        padding-top: 0.75rem !important;
    }

    .mpr-return-pricing-title,
    .mpr-private-pricing-title,
    .mpr-addons-pricing-title {
        font-size: 0.8rem;
    }

    .mpr-pricing-table-wrap,
    .table-responsive.mpr-pricing-table-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        border-radius: 8px;
    }

    .mpr-pricing-table thead th {
        font-size: 0.62rem;
        padding: 0.35rem 0.45rem;
        letter-spacing: 0.02em;
    }

    .mpr-pricing-table thead th:first-child {
        padding-left: 0.5rem;
    }

    .mpr-pricing-table thead th:last-child {
        padding-right: 0.5rem;
    }

    .mpr-pricing-table tbody td {
        font-size: 0.7rem;
        padding: 0.35rem 0.45rem;
        line-height: 1.2;
    }

    .mpr-pricing-table tbody td:first-child {
        padding-left: 0.5rem;
    }

    .mpr-pricing-table tbody td:last-child {
        padding-right: 0.5rem;
    }

    .mpr-pricing-table tbody td i[class*="fa-"],
    .mpr-pricing-table i[class*="fa-"],
    .mpr-pricing-table i:not(.mpr-btn-contact-table i) {
        display: none !important;
    }

    /* Precios compactos */
    .mpr-price-col {
        font-size: 0.76rem !important;
        white-space: nowrap !important;
    }

    .mpr-price-col strong {
        font-size: 0.76rem !important;
        font-weight: 700 !important;
        letter-spacing: -0.01em;
    }

    .mpr-standard-price-text,
    .mpr-promo-price-text {
        font-size: 0.78rem !important;
        font-weight: 700 !important;
    }

    .mpr-standard-badge,
    .mpr-promo-badge,
    .mpr-private-pricing-badge,
    .mpr-addons-pricing-badge {
        font-size: 0.54rem !important;
        padding: 1px 4px !important;
        margin-right: 3px !important;
        border-radius: 3px !important;
    }

    .mpr-table-th-note {
        font-size: 0.58rem !important;
        padding: 1px 3px !important;
        margin-top: 1px !important;
    }

    .mpr-traveler-note {
        font-size: 0.6rem !important;
    }

    .mpr-price-table-service strong,
    .mpr-price-table-service span {
        font-size: 0.72rem;
    }

    .mpr-price-condition-text {
        font-size: 0.68rem;
        line-height: 1.25;
    }

    .mpr-price-item-desc {
        font-size: 0.65rem;
        line-height: 1.3;
    }

    .mpr-btn-contact-table {
        padding: 0.2rem 0.45rem;
        font-size: 0.68rem;
        border-radius: 5px;
    }
}

/* Columna de Precios */
.mpr-price-col {
    font-variant-numeric: tabular-nums;
}

.mpr-price-col strong {
    font-size: 1.15rem;
    font-weight: 800;
    color: #171717;
    letter-spacing: -0.01em;
    transition: color 0.15s ease;
}

/* === Tour Detail - Filas y Badges de Precios Estándar y Promocionales === */
.mpr-standard-badge {
    display: inline-block;
    background-color: #e7f3ed;
    color: #026b39;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 4px;
    margin-right: 8px;
    vertical-align: middle;
}

.mpr-standard-price-text {
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    color: #026b39 !important;
}

.mpr-row-standard td {
    background-color: #f8faf8;
}

.mpr-row-standard:hover td {
    background-color: #eef6f1 !important;
}

/* Fila Promocional */
.mpr-row-promo td {
    background-color: #fffdf5;
}

.mpr-row-promo:hover td {
    background-color: #fef9ec !important;
}

.mpr-row-promo:hover .mpr-promo-price-text {
    color: #ea580c !important;
}

.mpr-promo-badge {
    display: inline-block;
    background-color: #ffd715;
    color: #171717;
    font-size: 0.68rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 4px;
    margin-right: 8px;
    vertical-align: middle;
}

.mpr-promo-price-text {
    font-size: 1.35rem !important;
    font-weight: 900 !important;
    color: #f76e19 !important;
}

.mpr-price-top .mpr-btn {
    flex-shrink: 0;
    white-space: nowrap;
}

.mpr-table-th-note {
    display: block;
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: none;
    letter-spacing: normal;
    color: #6b7280;
    margin-top: 3px;
    line-height: 1.25;
}

.mpr-traveler-note {
    font-size: 0.7rem;
    line-height: 1.2;
    margin-bottom: 2px;
}

/* === Tour Detail - Opciones de Retorno (Tren / Bus) en mpr-price-top === */
.mpr-return-pricing-wrap {
    position: relative;
}

.mpr-return-pricing-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mpr-return-pricing-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #171717;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: -0.01em;
}

/* === Tour Detail - Sección y Tabla de Precios Privados (precios_privado) === */
.mpr-private-pricing-wrap {
    border-top: 1px dashed #e2e8f0;
    padding-top: 1.25rem;
}

.mpr-private-pricing-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mpr-private-pricing-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #171717;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: -0.01em;
}

.mpr-private-pricing-badge {
    font-size: 0.72rem;
    font-weight: 700;
    color: #026b39;
    background-color: #e8f5e9;
    border: 1px solid rgba(2, 107, 57, 0.15);
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.mpr-pricing-table td.mpr-price-action-col {
    width: 1%;
    white-space: nowrap;
}

.mpr-btn-contact-table {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.8rem;
    font-weight: 600;
    padding: 0.4rem 0.85rem;
    border-radius: 6px;
    border: 1.5px solid #026b39;
    color: #026b39;
    background-color: #ffffff;
    transition: all 0.2s ease;
    text-decoration: none;
    cursor: pointer;
    line-height: 1.3;
}

.mpr-btn-contact-table i {
    font-size: 0.85rem !important;
    color: #026b39 !important;
    margin-right: 0 !important;
    transition: transform 0.2s ease;
}

.mpr-btn-contact-table:hover {
    background-color: #026b39;
    color: #ffffff;
    border-color: #026b39;
    box-shadow: 0 2px 8px rgba(2, 107, 57, 0.2);
}

.mpr-btn-contact-table:hover i {
    color: #ffffff !important;
    transform: translateX(2px);
}

/* === Tour Detail - Sección y Tabla de Addons / Servicios Opcionales (addons) === */
.mpr-addons-pricing-wrap {
    border-top: 1px dashed #e2e8f0;
    padding-top: 1.25rem;
}

.mpr-addons-pricing-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.mpr-addons-pricing-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #171717;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
    letter-spacing: -0.01em;
}

.mpr-addons-pricing-badge {
    font-size: 0.72rem;
    font-weight: 700;
    color: #026b39;
    background-color: #e8f5e9;
    border: 1px solid rgba(2, 107, 57, 0.15);
    padding: 3px 8px;
    border-radius: 4px;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.mpr-addons-pricing-table-wrap {
    margin-top: 0.5rem;
}

.mpr-addon-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 12px;
    margin-top: 1rem;
    padding: 1rem;
}

.mpr-gallery-grid a {
    border-radius: 10px;
    display: block;
    overflow: hidden;
    position: relative;
}

.mpr-gallery-grid a:after {
    background: linear-gradient(180deg, transparent, rgba(24, 32, 26, 0.42));
    content: "";
    inset: 0;
    opacity: 0;
    position: absolute;
    transition: 0.25s ease;
}

.mpr-gallery-grid img {
    border-radius: 10px;
    transform: scale(1);
    transition: transform 0.35s ease, filter 0.35s ease;
}

.mpr-gallery-grid a:hover img {
    filter: saturate(1.08) contrast(1.04);
    transform: scale(1.045);
}

.mpr-gallery-grid a:hover:after {
    opacity: 1;
}

.mpr-sidebar {
    position: sticky;
    top: 76px;
}

.mpr-sidebar .mpr-booking-card {
    position: relative;
    top: auto;
}

.mpr-hero {
    padding: 0 !important;
    margin: 0 !important;
}

.mpr-hero-media {
    margin: 0;
}

.mpr-hero-panel {
    padding: 14px 0 !important;
}

.mpr-hero-actions {
    margin-top: 0.75rem;
}

.mpr-section {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(24, 32, 26, 0.06);
    margin-bottom: 1rem;
    padding: clamp(22px, 3.5vw, 38px) !important;
    position: relative;
}

.mpr-section:first-child {
    padding-top: clamp(22px, 3.5vw, 38px) !important;
}

.mpr-layout {
    background: #fff;
}

.mpr-booking-body {
    position: relative;
}

#contenedor-calendario {
    height: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
    position: relative !important;
}

.Zebra_DatePicker {
    box-shadow: 0 16px 38px rgba(24, 32, 26, 0.16) !important;
    display: block !important;
    left: 0 !important;
    opacity: 0;
    pointer-events: none;
    position: absolute !important;
    top: auto !important;
    transform: translateY(8px) scale(0.98);
    transition: opacity 0.2s ease, transform 0.2s ease;
    visibility: hidden;
    z-index: 30;
}

.mpr-datepicker-open .Zebra_DatePicker {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
    visibility: visible;
}

.mpr-travel-tabs {
    border: 0;
    border-radius: 0;
    overflow: visible;
}

.mpr-travel-tabs .nav {
    background: transparent;
    border-bottom: 1px solid var(--line);
    display: flex;
    flex-wrap: nowrap;
    gap: 1.15rem;
    overflow-x: auto;
    padding: 0;
    scrollbar-width: none;
}

.mpr-travel-tabs .nav::-webkit-scrollbar {
    display: none;
}

.mpr-travel-tabs .nav-item {
    flex: 0 0 auto;
}

.mpr-travel-tabs .nav-link {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
    color: var(--muted);
    font-size: 0.9rem;
    font-weight: 750;
    letter-spacing: 0;
    padding: 0.15rem 0 0.7rem;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.mpr-travel-tabs .nav-link i {
    color: currentColor;
    font-size: 0.88em;
}

.mpr-travel-tabs .nav-link:hover,
.mpr-travel-tabs .nav-link:focus {
    color: var(--accent);
}

.mpr-travel-tabs .nav-link.active,
.mpr-travel-tabs .nav-pills .nav-link.active,
.mpr-travel-tabs .nav-pills .show > .nav-link {
    background: transparent;
    border-color: var(--accent);
    color: var(--ink);
}

.mpr-travel-tabs .tab-content {
    padding: 1.35rem 0 0;
}

@media (max-width: 991.98px) {
    .mpr-sidebar {
        position: static;
    }
}

@media (max-width: 767.98px) {
    .mpr-itinerary-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem;
    }

    .mpr-itinerary-toggle {
        align-self: flex-start;
    }

    .mpr-inclusion-columns {
        grid-template-columns: 1fr;
    }

    .mpr-inclusion-columns::before {
        display: none;
    }

    .mpr-inclusion-column-included {
        border-bottom: 1px solid var(--line);
    }

    .mpr-inclusion-column {
        padding: 1.35rem 1.1rem;
    }

    .mpr-hero-swiper {
        display: none;
    }

    .mpr-hero-mobile-image {
        display: block;
        height: 220px;
        padding: 0;
    }

    .mpr-hero-grid {
        display: none;
    }

    .mpr-hero-panel {
        padding: 12px 0 !important;
    }

    .mpr-gallery-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .mpr-section {
        border-radius: 12px;
        margin-bottom: 0.85rem;
    }
}


/* estilo para la vista de tours */


section.mpr-summary {
    margin: 0;
    padding: 0;
}




/* ============================================
   TripAdvisor Reviews Section
   ============================================ */

.tripadvisor_box {
    position: relative;
    padding: 60px 20px;
    background: linear-gradient(135deg, #ffffff 0%, #f4fdf9 100%);
    border-radius: 16px;
    box-shadow: 0 4px 20px rgba(0, 175, 135, 0.08);
    overflow: hidden;
    margin: 40px auto;
}

/* Decoraci��n superior con los colores de TripAdvisor */
.tripadvisor_box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 5px;
    background: linear-gradient(90deg,
        #000000 0%,
        #00AF87 50%,
        #34E0A1 100%);
}

/* ---- T��tulo de la secci��n ---- */
.tripadvisor_box .mpr-section-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 25px;
}

.tripadvisor_box .mpr-section-title span {
    display: inline-block;
    padding: 6px 18px;
    background-color: #00AF87;
    color: #ffffff;
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 2px;
    border-radius: 30px;
    margin-bottom: 12px;
}

.tripadvisor_box .mpr-section-title h2 {
    font-size: 2.2rem;
    font-weight: 700;
    color: #000000;
    margin: 0;
    position: relative;
    padding-bottom: 15px;
}

.tripadvisor_box .mpr-section-title h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 60px;
    height: 3px;
    background: #34E0A1;
    border-radius: 2px;
}

/* ---- Contenido / p��rrafo ---- */
.tripadvisor_box .mpr-content {
    margin-bottom: 35px;
}

.tripadvisor_box .mpr-content p {
    font-size: 1.05rem;
    line-height: 1.7;
    color: #4a4a4a;
}

.tripadvisor_box .mpr-content a {
    color: #00AF87;
    text-decoration: none;
    border-bottom: 2px solid #34E0A1;
    transition: all 0.3s ease;
}

.tripadvisor_box .mpr-content a:hover {
    color: #000000;
    border-bottom-color: #000000;
}

.tripadvisor_box .mpr-content a b {
    font-weight: 700;
}

/* ---- Contenedor del shortcode de Trustindex ---- */
.tripadvisor_box .ti-widget,
.tripadvisor_box [class*="trustindex"] {
    margin-top: 20px;
    padding: 20px;
    background-color: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
    .tripadvisor_box {
        padding: 40px 15px;
    }

    .tripadvisor_box .mpr-section-title h2 {
        font-size: 1.6rem;
    }

    .tripadvisor_box .mpr-content p {
        font-size: 0.95rem;
    }
}




/* ============================================
   TripAdvisor Badge / Recommendation
   ============================================ */

.mpr-tripadvisor {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    padding: 22px 28px;
    background: #ffffff;
    border: 2px solid #e8f5ef;
    border-radius: 14px;
    box-shadow: 0 4px 14px rgba(0, 175, 135, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
}

/* Brillo diagonal que cruza al hacer hover */
.mpr-tripadvisor::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        120deg,
        transparent 0%,
        rgba(52, 224, 161, 0.25) 50%,
        transparent 100%
    );
    transition: left 0.6s ease;
}

.mpr-tripadvisor:hover {
    transform: translateY(-5px);
    border-color: #34E0A1;
    box-shadow: 0 12px 28px rgba(0, 175, 135, 0.25);
}

.mpr-tripadvisor:hover::before {
    left: 100%;
}

/* ---- Texto peque�0�9o ---- */
.mpr-tripadvisor .mpr-small-note {
    font-size: 0.9rem;
    font-weight: 600;
    color: #4a4a4a;
    letter-spacing: 0.3px;
    text-align: center;
    transition: color 0.3s ease;
    position: relative;
    z-index: 2;
}

.mpr-tripadvisor:hover .mpr-small-note {
    color: #00AF87;
}

/* ---- Enlace e imagen ---- */
.mpr-tripadvisor a {
    display: inline-block;
    line-height: 0;
    position: relative;
    z-index: 2;
}

.mpr-tripadvisor img {
    max-width: 180px;
    height: auto;
    transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.05));
}

.mpr-tripadvisor:hover img {
    transform: scale(1.08);
    filter: drop-shadow(0 4px 8px rgba(0, 175, 135, 0.3));
}

/* ---- Responsive ---- */
@media (max-width: 480px) {
    .mpr-tripadvisor {
        padding: 18px 20px;
    }

    .mpr-tripadvisor img {
        max-width: 140px;
    }

    .mpr-tripadvisor .mpr-small-note {
        font-size: 0.85rem;
    }
}

/* ============================================
   Destination Taxonomy Landing
   ============================================ */

.mpt-destination-page {
    background: #fff;
}

/* ---------- Main Hero ---------- */
.mpt-destination-hero {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    color: #fff;
}

.mpt-destination-hero__bg,
.mpt-destination-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.mpt-destination-hero__bg {
    object-fit: cover;
}

.mpt-destination-hero__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.42) 100%);
}

.mpt-hero-row {
    min-height: 460px;
    padding: 5rem 0 3rem;
}

.mpt-destination-title {
    max-width: 760px;
    margin: 0;
    color: #fff !important;
    font-size: 2.65rem !important;
    font-weight: 900;
    line-height: 1.12;
}

.mpt-hero-tripadvisor {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
    width: fit-content;
    margin-top: 0.9rem;
    padding: 0.45rem 0.65rem;
    background: rgba(0, 0, 0, 0.28);
    border: 1px solid rgba(255, 255, 255, 0.24);
    border-radius: 999px;
    color: #fff;
    font-size: 0.9rem;
    font-weight: 800;
}

.mpt-hero-tripadvisor img {
    width: 26px;
    height: 26px;
    display: block;
    object-fit: contain;
}

.mpt-hero-tripadvisor__dots {
    display: inline-flex;
    align-items: center;
    gap: 0.18rem;
}

.mpt-hero-tripadvisor__dots span {
    width: 10px;
    height: 10px;
    display: block;
    background: #026b39;
    border: 1px solid rgba(255, 255, 255, 0.62);
    border-radius: 50%;
}

.mpt-hero-tripadvisor strong {
    color: #ffd715;
    font-weight: 900;
}

.mpt-destination-subtitle {
    max-width: 620px;
    margin: 1rem 0 0;
    color: #fff;
    font-size: 1rem;
    line-height: 1.65;
}

.mpt-btn-primary,
.mpt-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 46px;
    padding: 0.7rem 1.15rem;
    border-radius: 4px;
    font-weight: 800;
}

.mpt-btn-primary {
    background: #ffd715;
    border-color: #ffd715;
    color: #026b39;
}

.mpt-btn-primary:hover {
    background: #026b39;
    border-color: #026b39;
    color: #fff;
}

.mpt-btn-outline {
    border-color: #fff;
    color: #fff;
}

.mpt-btn-outline:hover {
    background: #fff;
    border-color: #fff;
    color: #026b39;
}

/* ---------- Trust Bar ---------- */
.mpt-trust-bar {
    padding: 2rem 0;
    background: #fff;
    border-bottom: 1px solid rgba(2, 107, 57, 0.12);
}

.mpt-trust-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    height: 100%;
}

.mpt-trust-icon {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 4px solid rgba(2, 107, 57, 0.1);
    border-radius: 50%;
    color: #026b39;
}

.mpt-trust-icon i {
    font-size: 1.75rem;
    line-height: 1;
}

.mpt-trust-item h2 {
    margin: 0 0 0.35rem;
    color: var(--bs-body-color) !important;
    font-size: 1.05rem !important;
    font-weight: 900;
    line-height: 1.2;
}

.mpt-trust-item p {
    margin: 0;
    color: var(--bs-body-color);
    font-size: 0.9rem;
    line-height: 1.5;
}

/* ---------- Tripadvisor Reviews Carousel ---------- */
.mpt-destination-reviews {
    padding: 3.25rem 0;
    background: #fff;
    border-bottom: 1px solid rgba(2, 107, 57, 0.12);
}

/* Reviews carousel inside single tour — no borders, no vertical bar */
.mpr-tour .mpt-destination-reviews {
    border-top: none;
    border-bottom: none;
}

.mpr-tour .mpt-destination-reviews .mpt-section-heading::before {
    display: none;
}

.mpt-destination-reviews-swiper {
    position: relative;
    overflow: hidden;
    padding: 0.35rem 0 1rem;
}

.mpt-destination-reviews-swiper .swiper-wrapper {
    align-items: stretch;
}

.mpt-destination-reviews-swiper .swiper-slide {
    display: flex;
    height: auto;
    opacity: 0.55;
    transform: translateY(12px);
    transition: opacity 0.45s ease, transform 0.45s ease;
}

.mpt-destination-reviews-swiper .swiper-slide-visible {
    opacity: 1;
    transform: translateY(0);
}

.mpt-tripadvisor-page-link {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.25rem 0 0.35rem;
    color: #026b39;
    font-size: 0.82rem;
    font-weight: 900;
    text-decoration: none;
}

.mpt-tripadvisor-page-link img {
    width: 22px;
    height: 22px;
    object-fit: contain;
}

.mpt-tripadvisor-page-link i {
    font-size: 0.78rem;
    transition: transform 0.2s ease;
}

.mpt-tripadvisor-page-link:hover {
    color: #026b39;
    text-decoration: underline;
}

.mpt-tripadvisor-page-link:hover i {
    transform: translate(2px, -2px);
}

.mpt-review-card {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 300px;
    display: flex;
    flex-direction: column;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.mpt-review-card:hover {
    transform: translateY(-3px);
}

.mpt-review-card-avatar {
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
}

.mpt-review-card-avatar img,
.mpt-review-card-avatar span {
    width: 58px;
    height: 58px;
    padding: 5px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(0, 0, 0, 0.18);
    border-radius: 50%;
    background: #026b39;
    color: #fff;
    font-size: 1.1rem;
    font-weight: 900;
}

.mpt-review-card-avatar img {
    object-fit: cover;
    background: #fff;
}

.mpt-review-card-body {
    height: 100%;
    min-height: 300px;
    padding: 0.95rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    display: flex;
    flex-direction: column;
    text-align: center;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.07);
    transition: box-shadow 0.25s ease;
}

.mpt-review-card-header {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.65rem;
    text-align: left;
}

.mpt-review-card-meta {
    flex: 1 1 auto;
    min-width: 0;
}

.mpt-review-card:hover .mpt-review-card-body {
    box-shadow: 0 9px 20px rgba(0, 0, 0, 0.09);
}

.mpt-review-platform {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    margin: 0 0 0 auto;
    color: var(--bs-body-color);
    font-size: 0.76rem;
    font-weight: 800;
}

.mpt-review-platform img {
    width: 26px;
    height: 26px;
    object-fit: contain;
}

.mpt-review-platform i {
    color: #026b39;
    font-size: 1.2rem;
}

.mpt-review-platform-tripadvisor {
    width: 30px;
    height: 30px;
}

.mpt-review-card h3 {
    margin: 0 0 0.16rem;
    color: var(--bs-body-color) !important;
    font-size: 0.95rem !important;
    font-weight: 900;
    line-height: 1.25;
}

.mpt-review-date {
    margin-bottom: 0.2rem;
    color: rgba(0, 0, 0, 0.42);
    font-size: 0.78rem;
    font-weight: 700;
}

.mpt-review-stars {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 0.22rem;
    margin-bottom: 0;
    color: #ffd715;
    font-size: 0.85rem;
}

.mpt-review-copy {
    position: relative;
    max-height: 5.9em;
    min-height: 5.9em;
    overflow: hidden;
}

.mpt-review-copy.is-expanded {
    overflow-y: auto;
}

.mpt-review-copy p {
    margin: 0 auto;
    max-width: 340px;
    color: var(--bs-body-color);
    font-size: 0.82rem;
    line-height: 1.48;
}

.mpt-review-copy-fade {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3rem;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0), #fff 78%);
    pointer-events: none;
}

.mpt-review-copy.is-expanded .mpt-review-copy-fade {
    display: none;
}

.mpt-review-toggle {
    align-self: center;
    margin: 0.35rem 0 0;
    padding: 0;
    background: transparent;
    border: 0;
    color: #026b39;
    font-size: 0.8rem;
    font-weight: 900;
}

.mpt-review-full-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    margin-top: auto;
    padding-top: 0.45rem;
    color: var(--bs-body-color);
    font-size: 0.82rem;
    font-weight: 800;
    text-decoration: none;
}

.mpt-review-full-link:hover {
    color: #026b39;
    text-decoration: underline;
}

.mpt-destination-reviews-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
}

.mpt-destination-reviews-prev,
.mpt-destination-reviews-next {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.14);
    border-radius: 50%;
    color: var(--bs-body-color);
    transition: border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.mpt-destination-reviews-prev:hover,
.mpt-destination-reviews-next:hover {
    border-color: #026b39;
    color: #026b39;
    transform: scale(1.06);
}

.mpt-destination-reviews-pagination {
    position: static;
    width: 100%;
    margin-top: 0.35rem;
    text-align: center;
}

.mpt-destination-reviews-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 3px !important;
    border-radius: 20px;
    background: rgba(0, 0, 0, 0.24);
    opacity: 1;
    transition: width 0.28s ease, background-color 0.28s ease;
}

.mpt-destination-reviews-pagination .swiper-pagination-bullet-active {
    width: 28px;
    background: #026b39;
}

/* ---------- Linear Sections ---------- */
.mpt-destination-section {
    padding: 4.5rem 0;
}

.mpt-destination-section-light {
    background: var(--bs-light);
}

#mpt-destination-guide {
    background: #f7f7f7;
}

.mpt-section-heading {
    margin: 0;
    color: var(--bs-body-color) !important;
    font-size: 2.25rem !important;
    font-weight: 900;
    line-height: 1.18;
}

.mpt-title-description {
    margin: 0.85rem 0 0;
    color: var(--bs-body-color);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.6;
}

.mpt-title-description-light {
    color: white
}

.mpt-section-lead,
.mpt-destination-copy,
.mpt-tour-group-intro {
    color: var(--bs-body-color);
    font-size: 1rem;
    line-height: 1.75;
}

.mpt-destination-copy p:last-child,
.mpt-tour-group-intro {
    margin-bottom: 0;
}

.mpt-destination-intro-image {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}

.mpt-destination-video {
    width: 100%;
    overflow: hidden;
    background: #000;
    border-radius: 8px;
    aspect-ratio: 16 / 9;
}

.mpt-destination-video iframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
}

/* ---------- Separator Heroes ---------- */
.mpt-separator-hero {
    position: relative;
    min-height: 420px;
    display: flex;
    align-items: center;
    overflow: hidden;
    color: #fff;
    padding: 96px 0;
}

.mpt-separator-hero-small {
    min-height: 380px;
}

.mpt-separator-hero img,
.mpt-separator-hero__overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.mpt-separator-hero img {
    object-fit: cover;
}

.mpt-separator-hero__overlay {
    background: rgba(2, 107, 57, 0.76);
}

.mpt-separator-hero h2 {
    max-width: 760px;
    margin: 0.5rem 0 0;
    color: #fff !important;
    font-size: 2.25rem !important;
    font-weight: 900;
    line-height: 1.18;
}

/* ---------- Choice Guide ---------- */
.mpt-choice-list {
    border-top: 1px solid rgba(0, 0, 0, 0.12);
    border-left: 0;
}

/* === Tour Category - Texto introductorio antes de criterios === */
.mpt-choice-intro {
    background: #fff;
    border: 1px solid rgba(2, 107, 57, 0.12);
    border-radius: 8px;
    color: #254d3a;
    line-height: 1.65;
    margin-bottom: 16px;
    padding: 18px;
}

/* === Tour Category - Párrafos del texto introductorio === */
.mpt-choice-intro p:last-child {
    margin-bottom: 0;
}

.mpt-choice-line {
    display: flex;
    gap: 0.75rem;
    height: 100%;
    min-height: 0;
    padding: 0.85rem 0;
    background: transparent;
    border-right: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.12);
}

.mpt-choice-list-stacked .mpt-choice-line {
    min-height: 0;
    padding: 0.85rem 0;
}

.mpt-choice-line i {
    color: #026b39;
    font-size: 1rem;
    line-height: 1;
    margin-top: 0.2rem;
}

.mpt-choice-line h3 {
    margin: 0 0 0.2rem;
    color: var(--bs-body-color) !important;
    font-size: 0.98rem !important;
    font-weight: 900;
}

.mpt-choice-line p {
    margin: 0;
    font-size: 0.86rem;
    line-height: 1.45;
}

.mpt-choice-line span {
    display: block;
    margin-top: 0.35rem;
    color: #026b39;
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.45;
}

.mpt-adventure-masonry {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 92px;
    gap: 0.75rem;
    min-height: 560px;
}

.mpt-adventure-masonry-item {
    overflow: hidden;
    background: #000;
    border-radius: 8px;
}

.mpt-adventure-masonry-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: filter 0.35s ease, transform 0.35s ease;
}

.mpt-adventure-masonry-item:hover img {
    filter: saturate(1.06) contrast(1.03);
    transform: scale(1.04);
}

.mpt-adventure-masonry-item-1 {
    grid-column: span 3;
    grid-row: span 4;
}

.mpt-adventure-masonry-item-2 {
    grid-column: span 3;
    grid-row: span 2;
}

.mpt-adventure-masonry-item-3,
.mpt-adventure-masonry-item-4 {
    grid-column: span 3;
    grid-row: span 2;
}

.mpt-adventure-masonry-item-5 {
    grid-column: span 3;
    grid-row: span 2;
}

@media (max-width: 991.98px) {
    .mpt-choice-line {
        min-height: 170px;
    }
}

@media (max-width: 767.98px) {
    .mpt-adventure-masonry {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: 120px;
        min-height: 0;
        margin-top: 1rem;
    }

    .mpt-adventure-masonry-item,
    .mpt-adventure-masonry-item-1,
    .mpt-adventure-masonry-item-2,
    .mpt-adventure-masonry-item-3,
    .mpt-adventure-masonry-item-4,
    .mpt-adventure-masonry-item-5 {
        grid-column: span 1;
        grid-row: span 2;
    }
}

/* ---------- Destination Photo Gallery ---------- */
.mpt-destination-photo-gallery {
    background: #fff;
}

.mpt-destination-gallery-bento {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-auto-rows: 118px;
    gap: 0.75rem;
}

.mpt-destination-gallery-item {
    position: relative;
    display: block;
    overflow: hidden;
    min-height: 0;
    background: #000;
    border-radius: 8px;
}

.mpt-destination-gallery-item img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform 0.35s ease, filter 0.35s ease;
}

.mpt-destination-gallery-item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 45%, rgba(0, 0, 0, 0.28));
    opacity: 0;
    transition: opacity 0.35s ease;
}

.mpt-destination-gallery-item span {
    position: absolute;
    right: 0.8rem;
    bottom: 0.8rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: #fff;
    background: rgba(0, 0, 0, 0.42);
    border-radius: 50%;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.mpt-destination-gallery-item:hover img {
    filter: saturate(1.05) contrast(1.04);
    transform: scale(1.035);
}

.mpt-destination-gallery-item:hover::after,
.mpt-destination-gallery-item:hover span {
    opacity: 1;
}

.mpt-destination-gallery-item:hover span {
    transform: translateY(0);
}

.mpt-destination-gallery-item-1 {
    grid-column: 1 / span 4;
    grid-row: 1 / span 4;
}

.mpt-destination-gallery-item-2 {
    grid-column: 5 / span 4;
    grid-row: 1 / span 2;
}

.mpt-destination-gallery-item-3 {
    grid-column: 9 / span 4;
    grid-row: 1 / span 2;
}

.mpt-destination-gallery-item-4 {
    grid-column: 5 / span 2;
    grid-row: 3 / span 2;
}

.mpt-destination-gallery-item-5 {
    grid-column: 7 / span 3;
    grid-row: 3 / span 2;
}

.mpt-destination-gallery-item-6 {
    grid-column: 10 / span 3;
    grid-row: 3 / span 2;
}

@media (max-width: 991.98px) {
    .mpt-destination-gallery-bento {
        grid-template-columns: repeat(6, 1fr);
        grid-auto-rows: 110px;
    }

    .mpt-destination-gallery-item-1,
    .mpt-destination-gallery-item-2,
    .mpt-destination-gallery-item-3,
    .mpt-destination-gallery-item-4,
    .mpt-destination-gallery-item-5,
    .mpt-destination-gallery-item-6 {
        grid-column: span 3;
        grid-row: span 2;
    }
}

@media (max-width: 575.98px) {
    .mpt-destination-gallery-bento {
        display: block;
    }

    .mpt-destination-gallery-item {
        min-height: 240px;
        margin-bottom: 0.75rem;
    }
}

/* ---------- Temporary Tour Groups ---------- */
#mpt-tour-groups {
    background: #fff;
}

.mpt-tour-group {
    padding-top: 0.25rem;
}

.mpt-tour-group-title {
    margin: 0;
    color: var(--bs-body-color) !important;
    font-size: 2.25rem !important;
    font-weight: 900;
    line-height: 1.18;
}

.mpt-test-tour-card {
    height: 100%;
    overflow: hidden;
    background: #fff;
    border: 1px solid rgba(2, 107, 57, 0.2);
    border-radius: 4px;
}

.mpt-test-tour-card img {
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    display: block;
}

.mpt-test-tour-card-body {
    padding: 1.15rem;
}

.mpt-card-badge {
    display: inline-flex;
    margin-bottom: 0.85rem;
    padding: 0.3rem 0.55rem;
    background: #ffd715;
    border-radius: 4px;
    color: #026b39;
    font-size: 0.78rem;
    font-weight: 900;
}

.mpt-test-tour-card h4 {
    margin: 0 0 0.65rem;
    color: var(--bs-body-color) !important;
    font-size: 1.15rem !important;
    font-weight: 900;
    line-height: 1.3;
}

.mpt-test-tour-card p {
    margin: 0 0 1rem;
    line-height: 1.65;
}

.mpt-card-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-bottom: 1rem;
    font-weight: 700;
}

.mpt-card-meta i {
    color: #026b39;
}

.mpt-card-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    color: #026b39;
    font-weight: 900;
    text-decoration: none;
}

.mpt-card-link:hover {
    color: #026b39;
    text-decoration: underline;
}

/* ---------- Category Graphic Tour Cards ---------- */
.mpt-category-featured-grid {
    align-items: stretch;
}

.mpt-category-featured-main {
    display: flex;
}

.mpt-category-featured-stack {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    height: 100%;
}

.mpt-category-featured-stack-item {
    min-height: 0;
}

.mpt-category-featured-stack-item:only-child {
    grid-row: 1 / -1;
}

.mpt-category-graphic-tour-card {
    position: relative;
    min-height: 460px;
    overflow: hidden;
    background: #000;
    border-radius: 8px;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
}

.mpt-category-graphic-tour-card__link {
    position: relative;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
}

.mpt-category-graphic-tour-card__link::before,
.mpt-category-graphic-tour-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
}

.mpt-category-graphic-tour-card__link::before {
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.34) 48%, rgba(0, 0, 0, 0.84) 100%);
}

.mpt-category-graphic-tour-card__link::after {
    background: radial-gradient(circle at 50% 42%, rgba(255, 215, 21, 0.15), transparent 42%);
    opacity: 0;
    transition: opacity 0.55s ease;
}

.mpt-category-graphic-tour-card img {
    width: 100%;
    height: 100%;
    min-height: 460px;
    display: block;
    object-fit: cover;
    transform: scale(1.02);
    transition: transform 6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.7s ease;
}

.mpt-category-graphic-tour-card--stacked,
.mpt-category-graphic-tour-card--stacked img {
    min-height: 0;
}

.mpt-category-graphic-tour-card--recommended,
.mpt-category-graphic-tour-card--recommended img {
    min-height: 600px;
}

.mpt-category-graphic-tour-card:hover img {
    transform: scale(1.11) translateX(-2%);
    filter: saturate(1.06) contrast(1.03);
}

.mpt-category-graphic-tour-card:hover .mpt-category-graphic-tour-card__link::after {
    opacity: 1;
}

.mpt-category-graphic-tour-card__pill {
    position: absolute;
    top: 1.25rem;
    left: 1.25rem;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    max-width: calc(100% - 2.5rem);
    padding: 0.45rem 0.8rem;
    background: #fff;
    border-radius: 999px;
    color: #026b39;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
    text-transform: uppercase;
    transition: transform 0.3s ease, background-color 0.3s ease, color 0.3s ease;
}

.mpt-category-graphic-tour-card:hover .mpt-category-graphic-tour-card__pill {
    background: #ffd715;
    color: #000;
    transform: translateY(-2px);
}

.mpt-category-graphic-tour-card__content {
    z-index: 2;
    padding: 1.45rem;
    color: #fff;
    transition: transform 0.45s cubic-bezier(0.2, 0.7, 0.2, 1);
}

.mpt-category-graphic-tour-card:hover .mpt-category-graphic-tour-card__content {
    transform: translateY(-0.3rem);
}

.mpt-category-graphic-tour-card__route {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    max-width: 100%;
    margin-bottom: 0.45rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.78rem;
    line-height: 1.25;
}

.mpt-category-graphic-tour-card__route i {
    color: #ffd715;
}

.mpt-category-graphic-tour-card h3 {
    margin: 0 0 0.7rem;
    color: #fff !important;
    font-size: 1.45rem !important;
    font-weight: 900;
    line-height: 1.15;
}

.mpt-category-graphic-tour-card__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    padding-top: 0.75rem;
    border-top: 1px solid rgba(255, 255, 255, 0.28);
}

.mpt-category-graphic-tour-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.86rem;
    font-weight: 700;
}

.mpt-category-graphic-tour-card__meta i {
    color: #ffd715;
}

.mpt-category-graphic-tour-card p {
    max-height: 0;
    margin: 0;
    overflow: hidden;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.9rem;
    line-height: 1.55;
    opacity: 0;
    transition: max-height 0.45s ease, margin 0.45s ease, opacity 0.45s ease;
}

.mpt-category-graphic-tour-card:hover p {
    max-height: 110px;
    margin-top: 0.85rem;
    opacity: 1;
}

.mpt-category-graphic-tour-card__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.45s ease, margin 0.45s ease, opacity 0.45s ease;
}

.mpt-category-graphic-tour-card:hover .mpt-category-graphic-tour-card__bottom {
    max-height: 54px;
    margin-top: 1rem;
    opacity: 1;
}

.mpt-category-graphic-tour-card__bottom span {
    color: rgba(255, 255, 255, 0.74);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.mpt-category-graphic-tour-card__bottom strong {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    color: #ffd715;
    font-size: 0.88rem;
    font-weight: 900;
    white-space: nowrap;
}

.mpt-category-graphic-tour-card__bottom i {
    transition: transform 0.25s ease;
}

.mpt-category-graphic-tour-card:hover .mpt-category-graphic-tour-card__bottom i {
    transform: translateX(5px);
}

/* ---------- Flexible Travel Slider ---------- */
.mpt-flexible-travel-section {
    position: relative;
    overflow: hidden;
    padding-top: 150px;
    padding-bottom: 150px;
    background: #000;
}

.mpt-flexible-travel-bg,
.mpt-flexible-travel-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.mpt-flexible-travel-bg {
    object-fit: cover;
}

.mpt-flexible-travel-overlay {
    background: rgba(0, 0, 0, 0.58);
}

.mpt-flexible-travel-section .mpt-tour-group-title,
.mpt-flexible-travel-section .mpt-title-description,
.mpt-flexible-travel-section .mpt-tour-group-intro {
    color: #fff !important;
}

.mpt-flexible-travel-section .mpt-tour-group-intro {
    margin-top: 1rem;
    font-size: 0.95rem;
}

.mpt-flexible-tours-swiper {
    overflow: hidden;
    padding: 0.25rem 0.25rem 1rem;
}

.mpt-flexible-tours-swiper .swiper-wrapper {
    align-items: stretch;
    transition-property: transform !important;
    transition-duration: 900ms !important;
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    will-change: transform;
}

.mpt-flexible-tours-swiper .swiper-slide {
    height: auto;
}

.mpt-flexible-tours-swiper .mpt-tour-card {
    height: 100%;
}

.mpt-flexible-tours-controls {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.mpt-flexible-tours-prev,
.mpt-flexible-tours-next {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: #fff;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    color: var(--bs-body-color);
    transition: transform 0.25s ease, background-color 0.25s ease;
}

.mpt-flexible-tours-prev:hover,
.mpt-flexible-tours-next:hover {
    background: #ffd715;
    transform: translateY(-1px);
}

.mpt-flexible-tours-pagination {
    position: static;
    width: auto !important;
}

.mpt-flexible-tours-pagination .swiper-pagination-bullet {
    appearance: none;
    width: 8px;
    height: 8px;
    margin: 0 3px !important;
    padding: 0;
    border: 0;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.72);
    opacity: 1;
    overflow: hidden;
    transition: width 0.32s ease, background-color 0.32s ease, transform 0.32s ease;
}

.mpt-flexible-tours-pagination .swiper-pagination-bullet span {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: inherit;
    background: #ffd715;
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.52s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.mpt-flexible-tours-pagination .swiper-pagination-bullet:hover {
    transform: scale(1.15);
}

.mpt-flexible-tours-pagination .swiper-pagination-bullet-active {
    width: 28px;
    border-radius: 20px;
    background: rgba(255, 215, 21, 0.28);
}

.mpt-flexible-tours-pagination .swiper-pagination-bullet-active span {
    transform: scaleX(1);
}

@media (min-width: 768px) {
    .mpt-category-featured-grid,
    .mpt-category-featured-main,
    .mpt-category-featured-grid > .col-md-6 {
        min-height: 800px;
    }

    .mpt-category-featured-stack {
        height: 800px;
    }

    .mpt-category-graphic-tour-card--large,
    .mpt-category-graphic-tour-card--large img {
        min-height: 800px;
    }

    .mpt-category-graphic-tour-card--stacked {
        height: 100%;
    }

    .mpt-category-graphic-tour-card--stacked h3 {
        font-size: 1.22rem !important;
    }
}

/* ---------- Destination Travel Guide Tabs ---------- */
.mpt-guide-tabs {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.6rem;
    margin: 0 0 1.25rem;
}

.mpt-guide-tab {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    background: #fff !important;
    border: 1px solid rgba(0, 0, 0, 0.14) !important;
    border-radius: 999px !important;
    color: var(--bs-body-color) !important;
    font-size: 0.9rem;
    font-weight: 900;
    padding: 0.7rem 1.15rem;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.mpt-guide-tab i {
    color: #026b39;
}

.mpt-guide-tab:hover {
    border-color: #000 !important;
    transform: translateY(-1px);
}

.mpt-guide-tab.active {
    background: #000 !important;
    border-color: #000 !important;
    color: #fff !important;
}

.mpt-guide-tab.active i {
    color: #ffd715;
}

.mpt-guide-tab-content {
    max-width: 1180px;
    margin: 0 auto;
    padding: 1.5rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
}


.mpt-guide-card-heading {
    margin: 0 0 1rem;
    color: var(--bs-body-color) !important;
    font-size: 1.35rem !important;
    font-weight: 900;
    line-height: 1.25;
}

.mpt-guide-card-grid {
    margin-top: 0.35rem;
}

.mpt-guide-info-card {
    height: 100%;
    padding: 1.2rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.16);
    border-radius: 8px;
}

.mpt-guide-info-card h3 {
    margin: 0 0 0.65rem;
    color: var(--bs-body-color) !important;
    font-size: 1.02rem !important;
    font-weight: 900;
    line-height: 1.35;
}

.mpt-guide-info-card__answer {
    color: var(--bs-body-color);
    font-size: 0.94rem;
    line-height: 1.65;
}

.mpt-guide-info-card__answer p:last-child,
.mpt-guide-info-card__answer ul:last-child,
.mpt-guide-info-card__answer ol:last-child {
    margin-bottom: 0;
}

.mpt-guide-availability-block {
    max-width: 1180px;
    margin: 1.5rem auto 0;
    padding: 1.5rem;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 1rem;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 8px;
    box-shadow: 0 18px 36px rgba(0, 0, 0, 0.06);
}

.mpt-guide-availability-block__icon {
    width: 54px;
    height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #026b39;
    color: #ffd715;
    font-size: 1.4rem;
}

.mpt-guide-availability-block h3 {
    margin-bottom: 0.75rem;
    font-weight: 900;
}

.mpt-guide-availability-block p:last-child,
.mpt-guide-availability-block ul:last-child,
.mpt-guide-availability-block ol:last-child {
    margin-bottom: 0;
}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px) {
    .mpt-destination-hero,
    .mpt-hero-row {
        min-height: 420px;
    }

    .mpt-destination-title {
        font-size: 2.3rem !important;
    }

    .mpt-destination-section {
        padding: 3.75rem 0;
    }

    .mpt-flexible-tours-swiper {
        margin-top: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .mpt-destination-hero,
    .mpt-hero-row {
        min-height: 390px;
    }

    .mpt-hero-row {
        padding: 4.5rem 0 2.5rem;
    }

    .mpt-destination-title {
        font-size: 1.9rem !important;
    }

    .mpt-destination-subtitle {
        font-size: 1rem;
    }

    .mpt-trust-bar {
        padding: 2rem 0;
    }

    .mpt-trust-item {
        align-items: flex-start;
    }

    .mpt-trust-icon {
        flex-basis: 64px;
        width: 64px;
        height: 64px;
        border-width: 3px;
    }

    .mpt-trust-icon i {
        font-size: 1.75rem;
    }

    .mpt-trust-item h2 {
        font-size: 1.15rem !important;
    }

    .mpt-destination-reviews {
        padding: 3.5rem 0;
    }

    .mpt-destination-reviews-controls {
        justify-content: flex-start;
    }

    .mpt-flexible-tours-controls {
        justify-content: flex-start;
    }

    .mpt-section-heading,
    .mpt-separator-hero h2 {
        font-size: 1.8rem !important;
    }

    .mpt-separator-hero,
    .mpt-separator-hero-small {
        min-height: 320px;
        padding: 76px 0;
    }
}


/* MPR Tour Mobile Header and Overlay */
.mpr-hero-wrapper {
    position: relative;
}

@media (max-width: 767.98px) {
    .mpr-hero-wrapper {
        display: flex;
        flex-direction: column;
    }

    .mth-gallery-section {
        order: 2;
        display: none !important;
        position: relative;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }

    .mth-tour-header-section {
        order: 1;
        position: relative;
        z-index: 10;
        display: flex;
        align-items: flex-end;
        min-height: auto;
        aspect-ratio: 1 / 1;
        background-image: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.44) 48%, rgba(0, 0, 0, 0.08) 100%), var(--mth-tour-featured-bg);
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        padding: 6rem 0 1.35rem !important;
        pointer-events: auto;
    }

    .mth-tour-header-section .container {
        pointer-events: auto;
    }

    .mth-tour-header-section * {
        color: #ffffff !important;
    }

    .mth-tour-heading {
        font-size: clamp(1.4rem, 4.5vw, 1.8rem) !important;
        font-weight: 850 !important;
        line-height: 1.22 !important;
        text-shadow: 0 2px 5px rgba(0,0,0,0.85);
        margin-bottom: 0.3rem !important;
    }

    .mth-tour-slogan-subtle {
        font-size: 0.85rem !important;
        opacity: 0.9;
        text-shadow: 0 1px 3px rgba(0,0,0,0.8);
        line-height: 1.3 !important;
    }

    /* Botones de acción del header en móvil */
    .mth-tour-header-section .mth-header-actions {
        width: 100%;
        margin-top: 0.65rem;
        gap: 8px;
    }

    .mth-tour-header-section .mth-btn-header {
        flex: 1 1 calc(50% - 4px);
        min-height: 42px;
        padding: 0.5rem 0.75rem;
        font-size: 0.85rem;
    }

    .mth-tour-header-section .mth-btn-header-pricing {
        background: #ffffff !important;
        color: #026b39 !important;
        border: 1.5px solid #ffffff !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
    }

    .mth-tour-header-section .mth-btn-header-pricing span,
    .mth-tour-header-section .mth-btn-header-pricing i {
        color: #026b39 !important;
    }

    .mth-tour-header-section .mth-btn-header-book {
        background: #026b39 !important;
        color: #ffffff !important;
        border: 1.5px solid rgba(255, 255, 255, 0.35) !important;
        box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
        font-size: 0.88rem;
        font-weight: 750;
        min-height: 44px;
        padding: 0.55rem 0.85rem;
    }

    .mth-tour-header-section .mth-btn-header-book span {
        color: #ffffff !important;
    }

    .mth-tour-header-section .mth-btn-header-book i {
        color: #ffd715 !important;
    }

    /* Orden móvil: Meta información antes de los breadcrumbs */
    .mth-tour-meta-section {
        order: 3;
        padding-top: 0.85rem !important;
        padding-bottom: 0.35rem !important;
    }

    .mth-breadcrumbs {
        order: 4;
        margin-top: 0 !important;
        margin-bottom: 0.75rem !important;
    }

    .mth-tour-meta-line {
        margin-top: 0.4rem !important;
        margin-bottom: 0 !important;
        gap: 0.6rem 0.8rem !important;
    }

    .mth-meta-separator {
        opacity: 0.55;
    }

    .mth-ta-dots .mth-dot {
        background-color: #34e0a1 !important;
    }

    .mth-gallery-thumbs {
        display: none !important;
    }

    .mth-gallery-hero,
    .mth-hero-swiper {
        min-height: 290px !important;
        height: 290px !important;
        border-radius: 0 !important;
    }

    .mth-gallery-hero .mth-gallery-item img {
        border-radius: 0 !important;
    }

    .mth-hero-caption {
        max-width: calc(100% - 34px);
        padding: 28px 16px 14px;
        font-size: .82rem;
    }
}


/* === Tour Header - Acciones Rápidas (View Pricing & Book Now) === */
.mth-header-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.mth-btn-header {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    font-size: 0.9rem;
    font-weight: 700;
    min-height: 44px;
    padding: 0.55rem 1.15rem;
    border-radius: 8px;
    text-decoration: none;
    line-height: 1.25;
    cursor: pointer;
    transition: all 0.22s ease;
    white-space: nowrap;
}

.mth-btn-header i {
    font-size: 0.95rem;
    transition: transform 0.2s ease;
}

/* Botón 1: View Pricing */
.mth-btn-header-pricing {
    background-color: #ffffff;
    color: #026b39 !important;
    border: 1.5px solid #026b39;
}

.mth-btn-header-pricing i {
    color: #026b39 !important;
}

.mth-btn-header-pricing:hover {
    background-color: #026b39;
    color: #ffffff !important;
    border-color: #026b39;
    box-shadow: 0 4px 14px rgba(2, 107, 57, 0.18);
    transform: translateY(-2px);
}

.mth-btn-header-pricing:hover i {
    color: #ffffff !important;
    transform: scale(1.1);
}

/* Botón 2: Book Online */
.mth-btn-header-book {
    background-color: #026b39;
    color: #ffffff !important;
    border: 1.5px solid #026b39;
    font-size: 0.95rem;
    font-weight: 750;
    min-height: 46px;
    padding: 0.62rem 1.45rem;
    box-shadow: 0 4px 14px rgba(2, 107, 57, 0.22);
}

.mth-btn-header-book i {
    color: #ffd715 !important;
    font-size: 1rem;
}

.mth-btn-header-book:hover {
    background-color: #01532c;
    border-color: #01532c;
    color: #ffffff !important;
    box-shadow: 0 6px 20px rgba(2, 107, 57, 0.32);
    transform: translateY(-2px);
}

.mth-btn-header-book:hover i {
    transform: scale(1.15);
}

/* Tour gallery action button */
.mth-gallery-hero {
    position: relative;
}


.mth-hero-item {
    position: relative;
}

.mth-hero-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 4;
    display: block;
    max-width: calc(100% - 230px);
    padding: 34px 22px 18px;
    border-bottom-left-radius: 8px;
    background: linear-gradient(90deg, rgba(2, 107, 57, 0.76), rgba(2, 107, 57, 0.36), rgba(2, 107, 57, 0));
    color: #ffffff !important;
    font-size: .95rem;
    font-weight: 800;
    line-height: 1.25;
    text-shadow: 0 2px 12px rgba(2, 107, 57, 0.36);
}

.mth-view-all-btn {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 9px 15px;
    border: 1px solid rgba(255, 215, 21, 0.55);
    border-radius: 8px;
    background: #026b39;
    color: #ffffff !important;
    font-size: .9rem;
    font-weight: 800;
    line-height: 1;
    text-decoration: none;
    box-shadow: 0 12px 28px rgba(2, 107, 57, 0.22);
    transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease, color .25s ease, transform .25s ease;
}

.mth-view-all-btn i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffd715;
    color: #026b39;
    font-size: .9rem;
    transition: background-color .25s ease, color .25s ease, transform .25s ease;
}

.mth-view-all-btn:hover {
    background: #026b39;
    border-color: #ffd715;
    color: #ffffff;
    box-shadow: 0 16px 34px rgba(2, 107, 57, 0.18);
    transform: translateY(-2px);
}

.mth-view-all-btn:focus,
.mth-view-all-btn:visited {
    color: #ffffff;
}

.mth-view-all-btn:hover i {
    background: #ffffff;
    color: #026b39;
    transform: scale(1.05);
}

/* Tour breadcrumbs - simple */
.mth-breadcrumbs {
    margin-top: 12px;
}

.mth-breadcrumbs .breadcrumb {
    align-items: center;
    font-size: .92rem;
}

.mth-breadcrumbs .breadcrumb-item,
.mth-breadcrumbs .breadcrumb-item a {
    color: #026b39;
    text-decoration: none;
}

.mth-breadcrumbs .breadcrumb-item a:hover {
    color: #026b39;
    text-decoration: underline;
}

.mth-breadcrumbs .breadcrumb-item.active {
    color: rgba(2, 107, 57, 0.72);
}

/* Responsive Floating Price Bar */
@media (max-width: 575.98px) {
    .mth-price-bar-floating {
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        right: 0 !important;
        left: 0 !important;
    }

    .mth-price-bar-floating .container {
        padding: 0 !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .mth-price-bar-floating .mth-price-bar {
        width: 100% !important;
        max-width: 100% !important;
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0.45rem 0.5rem calc(0.45rem + env(safe-area-inset-bottom)) !important;
        box-shadow: 0 -4px 16px rgba(0, 0, 0, 0.08) !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
        flex-wrap: nowrap !important;
        gap: 0.32rem !important;
    }

    .mth-price-bar-main {
        width: auto !important;
        flex: 0 0 auto !important;
        flex-wrap: nowrap !important;
        justify-content: flex-start !important;
        gap: 0.35rem !important;
    }

    .mth-price-box {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
    }

    .mth-price-box .mth-price-label {
        display: block !important;
        font-size: 0.54rem !important;
    }

    .mth-price-box .mth-price-amount {
        font-size: 1.1rem !important;
        gap: 0.1rem !important;
    }

    .mth-price-person {
        max-width: 42px !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        font-size: 0.68rem !important;
        white-space: nowrap !important;
    }

    .mth-price-actions {
        width: auto !important;
        flex-shrink: 0 !important;
        display: flex !important;
        flex-wrap: nowrap !important;
        gap: 0.28rem !important;
        align-items: center !important;
    }

    .mth-price-actions .mpr-btn {
        width: 34px !important;
        min-width: 34px !important;
        min-height: 34px !important;
        padding: 0 !important;
        font-size: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 8px !important;
    }

    .mth-price-actions .mpr-btn i {
        font-size: 0.95rem !important;
    }

    .mth-price-actions .mpr-btn-primary {
        width: auto !important;
        min-width: 112px !important;
        padding: 0 0.58rem !important;
        font-size: 0.68rem !important;
    }

    /* WhatsApp Button - Only Icon */
    .mth-price-actions a.mpr-btn-outline {
        width: 34px !important;
        min-width: 34px !important;
        padding: 0 !important;
        justify-content: center !important;
    }

    .mth-price-actions a.mpr-btn-outline span.mpr-btn-text {
        display: none !important;
    }

    .mth-price-actions a.mpr-btn-outline i {
        font-size: 1.15rem !important;
        margin: 0 !important;
    }

    .mth-student-price {
        display: none !important;
    }

    /* === Floating Price Bar - Ocultar campos de precio y condicion en Mobile === */
    .mth-price-fields,
    #mth_floating_price_cond,
    .mth-floating-price-cond {
        display: none !important;
    }
}

/* === Single Tour - Botones CTA en Mobile (mth-info-ctas compactos) === */
@media (max-width: 767.98px) {
    .mth-info-ctas {
        gap: 0.5rem !important;
        margin-top: 0.65rem !important;
    }

    .mth-info-btn {
        min-height: 48px !important;
        padding: 0.5rem 0.65rem !important;
        gap: 0.45rem !important;
        border-radius: 8px !important;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04) !important;
    }

    .mth-info-btn i {
        font-size: 1.1rem !important;
    }

    .mth-info-btn strong {
        font-size: 0.82rem !important;
        line-height: 1.15 !important;
    }

    .mth-info-btn span {
        font-size: 0.65rem !important;
        line-height: 1.1 !important;
    }
}

/* Responsive One Page Nav adjustments */
@media (max-width: 767.98px) {
    .mpr-nav a {
        padding: 0.32rem 0.55rem !important;
        font-size: 0.76rem !important;
        gap: 0 !important;
    }

    .mpr-nav a i {
        display: none !important;
    }

    .mpr-nav-scroll {
        padding: 0.45rem 0 !important;
        gap: 0.2rem !important;
    }

    /* Ocultar botón Book Online / Contact Us en One Page Nav en Mobile */
    .mpr-nav .mpr-nav-book-online,
    .mpr-nav a.mpr-nav-book-online,
    .mpr-nav button.mpr-nav-book-online,
    .mpr-nav-book-online {
        display: none !important;
    }
}


/* Sidebar Reservation Promo Block */
.mpr-sidebar-alert-card {
    background-color: #026b39;
    border-radius: 14px;
    padding: 1.5rem;
    color: #ffffff;
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(2, 107, 57, 0.15);
}

.mpr-sidebar-alert-card::after {
    content: "\f07a";
    font-family: "Font Awesome 6 Free", "Font Awesome 5 Free", sans-serif;
    font-weight: 900;
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 5.5rem;
    color: rgba(255, 255, 255, 0.08);
    pointer-events: none;
    line-height: 1;
}

.mpr-sidebar-alert-card__title {
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800;
    margin-bottom: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1;
}

.mpr-sidebar-alert-card__text {
    color: rgba(255, 255, 255, 0.9) !important;
    font-size: 0.82rem !important;
    line-height: 1.48;
    margin-bottom: 0.85rem;
    position: relative;
    z-index: 1;
}

.mpr-sidebar-alert-card__warning {
    display: flex;
    gap: 0.55rem;
    align-items: flex-start;
    background-color: rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    padding: 0.7rem;
    margin-bottom: 1.1rem;
    border-left: 3px solid #ffd715;
    position: relative;
    z-index: 1;
}

.mpr-sidebar-alert-card__warning i {
    color: #ffd715;
    font-size: 0.9rem;
    margin-top: 0.1rem;
}

.mpr-sidebar-alert-card__warning span {
    font-size: 0.78rem;
    line-height: 1.35;
    color: rgba(255, 255, 255, 0.95);
    font-weight: 600;
}

.mpr-sidebar-alert-card__btn {
    background-color: #ffd715 !important;
    border-color: #ffd715 !important;
    color: #000000 !important;
    font-weight: 800 !important;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.8rem !important;
    padding: 0.6rem 1rem !important;
    border-radius: 8px !important;
    transition: background-color 0.2s ease, transform 0.2s ease;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-decoration: none;
    box-shadow: 0 4px 12px rgba(255, 215, 21, 0.22);
    position: relative;
    z-index: 1;
}

.mpr-sidebar-alert-card__btn:hover {
    background-color: #e5b502 !important;
    border-color: #e5b502 !important;
    color: #000000 !important;
    transform: translateY(-1px);
}


/* What to Bring Accordion List Item Bullets */
.mpr-inclusion-body-bring .mpr-content li::before {
    background: #026b39;
    box-shadow: 0 0 0 3px rgba(2, 107, 57, 0.12);
}


.mpt-page-hero {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--mpt-bg);
    overflow: hidden;
}

/* Video Background and Mobile Centering for mpt-tailor-hero (Flat/No Gradient/No Rounded Border) */
.mpt-tailor-hero {
    overflow: hidden;
    border-radius: 0 !important;
}

.mpt-tailor-hero .mpt-title {
    font-size: clamp(1.65rem, 4vw, 2.35rem) !important;
    line-height: 1.2 !important;
}

.mpt-tailor-hero .mpt-subtitle {
    font-size: clamp(0.9rem, 2vw, 1.02rem) !important;
    line-height: 1.55 !important;
}

body .mpt-tailor-hero {
    background-image: none; /* disables the shorthand linear-gradient but lets inline background image win */
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    border-radius: 0 !important;
}

/* Remove bottom fade completely */
.mpt-tailor-hero::after {
    display: none !important;
}

.mpt-tailor-hero-video-wrap {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.mpt-tailor-hero-video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Angled semi-transparent black overlay for readability */
.mpt-tailor-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg, rgba(0, 0, 0, 0.72) 0%, rgba(0, 0, 0, 0.38) 45%, rgba(0, 0, 0, 0) 80%) !important;
    z-index: 1;
    display: block !important;
}

@media (max-width: 991px) {
    .mpt-tailor-hero {
        text-align: center !important;
        border-radius: 0 !important;
    }

    .mpt-tailor-hero-overlay {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.75) 0%, rgba(0, 0, 0, 0.4) 60%, rgba(0, 0, 0, 0.8) 100%) !important;
    }

    .mpt-tailor-hero-content {
        margin: 0 auto !important;
        text-align: center !important;
    }

    .mpt-tailor-hero .mpt-hero-tripadvisor {
        justify-content: center !important;
    }
}



/* === Footer - Imagen original con overlay oscuro === */
footer.site-footer {
    --mpr-footer-ink: #ffffff;
    --mpr-footer-muted: #e5e5e5;
    --mpr-footer-line: rgba(255, 255, 255, 0.2);
    --mpr-footer-accent: #ffd715;
    background: #171717 url('images/placeholder.jpg') center / cover no-repeat;
    position: relative;
    isolation: isolate;
    border-top: 1px solid var(--mpr-footer-line);
    color: var(--mpr-footer-muted);
    font-family: var(--mpr-font-body);
    font-size: 0.875rem;
    line-height: 1.6;
}
/* === Footer - Capa oscura uniforme sobre la fotografía original === */
footer.site-footer::before { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.84); z-index: -1; pointer-events: none; }
/* === Footer - Contenedor compacto === */
.site-footer .container { max-width: 1200px !important; }
/* === Footer - Espaciado principal === */
.footer-inner { padding-top: 32px; padding-bottom: 16px; }
/* === Footer - Cabecera horizontal === */
.footer-brand { padding-bottom: 24px; border-bottom: 1px solid var(--mpr-footer-line); }
/* === Footer - Marca proporcionada === */
.footer-brand-mark { flex: 0 0 96px; }
/* === Footer - Imagen de marca === */
.footer-brand-mark img { display: block; width: 96px; max-width: 100%; height: auto; }
/* === Footer - Texto adaptable === */
.footer-brand-copy, .footer-link-card { min-width: 0; overflow-wrap: anywhere; }
/* === Footer - Nombre de marca === */
.footer-brand-name { color: var(--mpr-footer-ink); font-family: inherit; font-size: clamp(1.125rem, 2vw, 1.5rem); font-weight: 600; line-height: 1.3; margin: 0; }
/* === Footer - Lema === */
.footer-slogan { color: var(--mpr-footer-accent); font-size: 1rem; margin: 8px 0 0; }
/* === Footer - Descripción === */
.footer-desc { max-width: 880px; margin: 8px 0 0; line-height: 1.5; }
/* === Footer - Columnas Bootstrap === */
.footer-link-groups { --bs-gutter-x: 32px; --bs-gutter-y: 0; row-gap: 24px; padding-top: 24px; padding-bottom: 24px; }
/* === Footer - Títulos de sección === */
.footer-link-card h3, .footer-hours-title { display: flex; align-items: center; gap: 8px; color: var(--mpr-footer-ink); font-family: inherit; font-size: 0.875rem; font-weight: 700; line-height: 1.5; margin: 0 0 16px; }
/* === Footer - Listas sin decoración === */
.footer-link-card ul { list-style: none; padding: 0; margin: 0; }
/* === Footer - Restablecer márgenes heredados de listas === */
.site-footer li { margin: 0; line-height: inherit; }
/* === Footer - Enlaces con transición minimalista y elegante === */
.site-footer a {
    color: var(--mpr-footer-muted, #e2e8f0);
    text-decoration: none;
    position: relative;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-wrap: anywhere;
}

/* === Footer - Área de interacción y efecto sutil en enlaces de columnas === */
.footer-link-card ul li a {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 2px 0;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-link-card ul li a:hover {
    color: var(--mpr-footer-accent, #ffd715);
    transform: translateX(4px);
}

/* === Footer - Enlaces de contacto con desplazamiento suave === */
.footer-info-links a {
    display: inline-block;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-info-links a:hover {
    color: var(--mpr-footer-accent, #ffd715);
    transform: translateX(3px);
}

/* === Footer - Enlaces legales inferiores con subrayado animado minimalista === */
.footer-links-horizontal a {
    display: inline-flex;
    align-items: center;
    position: relative;
    padding: 4px 0;
    transition: color 0.22s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-links-horizontal a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1.5px;
    background-color: var(--mpr-footer-accent, #ffd715);
    transition: width 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.footer-links-horizontal a:hover {
    color: var(--mpr-footer-accent, #ffd715);
}

.footer-links-horizontal a:hover::after {
    width: 100%;
}

/* === Footer - Respuesta general de enlaces y accesibilidad === */
.site-footer a:hover {
    color: var(--mpr-footer-accent, #ffd715);
}

.site-footer a:focus-visible {
    outline: 2px solid var(--mpr-footer-accent, #ffd715);
    outline-offset: 4px;
}
/* === Footer - Párrafos informativos === */
.footer-about-text { margin: 0 0 8px; }
/* === Footer - Énfasis tipográfico === */
.footer-about-text strong, .footer-info-links strong { color: var(--mpr-footer-ink); font-weight: 600; }
/* === Footer - Separación de contactos === */
.footer-info-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
/* === Footer - Tarjetas compactas de contacto === */
.footer-info-item { border-bottom: 1px solid var(--mpr-footer-line); padding-bottom: 14px; }
/* === Footer - Último dato de contacto sin divisor === */
.footer-info-item:last-child { border-bottom: 0; padding-bottom: 0; }
/* === Footer - Etiquetas de contacto === */
.footer-info-label { display: flex; align-items: center; gap: 8px; color: var(--mpr-footer-ink); font-weight: 600; }
/* === Footer - Enlaces de contacto apilados === */
.footer-info-links { display: grid; gap: 6px; margin-top: 8px; }
/* === Footer - Etiquetas y correos largos === */
.footer-info-links a, .footer-info-addresses li { display: block; line-height: 1.5; overflow-wrap: anywhere; }
/* === Footer - Título de pagos === */
.footer-payment-title { color: var(--mpr-footer-ink); font-weight: 600; }
/* === Footer - Imagen de métodos de pago === */
.site-footer .footer-payment-image { display: block; width: min(100%, 280px); height: auto; }
/* === Footer - Franja de horarios y ubicación === */
.footer-hours-strip { --bs-gutter-y: 0; row-gap: 24px; border-top: 1px solid var(--mpr-footer-line); padding-top: 24px; padding-bottom: 24px; }
/* === Footer - Encabezados de horarios === */
.footer-hours-head { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 16px; }
/* === Footer - Títulos de horarios con espaciado compacto === */
.footer-hours-head .footer-hours-title { margin-bottom: 0; }
/* === Footer - Iconos lineales === */
.footer-hours-icon { color: var(--mpr-footer-accent); font-size: 1rem; }
/* === Footer - Subtítulos === */
.footer-hours-subtitle { display: block; }
/* === Footer - Dos columnas para soporte diario y equipo de ventas === */
.footer-hours-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0; }
/* === Footer - Etiquetas de horarios === */
.footer-hours-label { color: var(--mpr-footer-ink); font-weight: 600; margin-bottom: 8px; }
/* === Footer - Valores y dirección === */
.footer-hours-value, .footer-hours-location, .footer-hours-note { margin: 0; }
/* === Footer - Dirección destacada === */
.footer-hours-location { color: var(--mpr-footer-ink); margin-bottom: 8px; }
/* === Footer - Franja dedicada a redes sociales con espaciado mejorado === */
.footer-social-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem 2rem;
    border-top: 1px solid var(--mpr-footer-line);
    margin-top: 2.25rem;
    padding-top: 1.75rem;
    padding-bottom: 0.5rem;
}

/* === Footer - Título de la franja social === */
.footer-social-strip-title {
    color: var(--mpr-footer-ink);
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* === Footer - Redes sociales alineadas === */
.footer-socials {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

/* === Footer - Controles sociales con colores reales (cuadrados con esquinas redondeadas) === */
.site-footer .footer-social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    font-size: 1.25rem;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.18);
}

.site-footer .footer-social-link:hover,
.site-footer .footer-social-link:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}

/* Facebook (#1877F2) */
.site-footer .footer-social-link--facebook i,
.site-footer .footer-social-link .bi-facebook {
    color: #1877f2;
    transition: color 0.2s ease;
}
.site-footer .footer-social-link--facebook:hover,
.site-footer .footer-social-link:has(.bi-facebook):hover {
    background-color: #1877f2;
    border-color: #1877f2;
}
.site-footer .footer-social-link--facebook:hover i,
.site-footer .footer-social-link:hover .bi-facebook {
    color: #ffffff !important;
}

/* Instagram (#E4405F / Gradient) */
.site-footer .footer-social-link--instagram i,
.site-footer .footer-social-link .bi-instagram {
    color: #e4405f;
    transition: color 0.2s ease;
}
.site-footer .footer-social-link--instagram:hover,
.site-footer .footer-social-link:has(.bi-instagram):hover {
    background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
    border-color: #dc2743;
}
.site-footer .footer-social-link--instagram:hover i,
.site-footer .footer-social-link:hover .bi-instagram {
    color: #ffffff !important;
}

/* YouTube (#FF0000) */
.site-footer .footer-social-link--youtube i,
.site-footer .footer-social-link .bi-youtube {
    color: #ff0000;
    transition: color 0.2s ease;
}
.site-footer .footer-social-link--youtube:hover,
.site-footer .footer-social-link:has(.bi-youtube):hover {
    background-color: #ff0000;
    border-color: #ff0000;
}
.site-footer .footer-social-link--youtube:hover i,
.site-footer .footer-social-link:hover .bi-youtube {
    color: #ffffff !important;
}

/* TikTok (#010101) */
.site-footer .footer-social-link--tiktok i,
.site-footer .footer-social-link .bi-tiktok {
    color: #010101;
    transition: color 0.2s ease;
}
.site-footer .footer-social-link--tiktok:hover,
.site-footer .footer-social-link:has(.bi-tiktok):hover {
    background-color: #000000;
    border-color: #000000;
}
.site-footer .footer-social-link--tiktok:hover i,
.site-footer .footer-social-link:hover .bi-tiktok {
    color: #ffffff !important;
}

/* Google Maps (#EA4335) */
.site-footer .footer-social-link--google i,
.site-footer .footer-social-link .bi-geo-alt-fill,
.site-footer .footer-social-link .bi-geo-alt {
    color: #ea4335;
    transition: color 0.2s ease;
}
.site-footer .footer-social-link--google:hover,
.site-footer .footer-social-link:has(.bi-geo-alt-fill):hover,
.site-footer .footer-social-link:has(.bi-geo-alt):hover {
    background-color: #ea4335;
    border-color: #ea4335;
}
.site-footer .footer-social-link--google:hover i,
.site-footer .footer-social-link:hover .bi-geo-alt-fill,
.site-footer .footer-social-link:hover .bi-geo-alt {
    color: #ffffff !important;
}
/* === Footer - Navegación inferior === */
.footer-links-horizontal { display: flex; flex-wrap: wrap; justify-content: center; column-gap: 24px; list-style: none; margin: 0; padding: 0; }
/* === Footer - Línea de copyright === */
.site-footer .legal-bar { border-top: 1px solid var(--mpr-footer-line); background: rgba(0, 0, 0, 0.24); }
/* === Footer - Texto legal === */
.site-footer .legal-copy { font-size: 0.875rem; text-align: center; margin: 0; }
/* === Footer - Navegación legal en franja adaptable === */
.footer-bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px 24px; border-top: 1px solid var(--mpr-footer-line); padding-top: 16px; }
/* === Footer - Navegación inferior flexible === */
.footer-bottom > nav:last-child { flex: 1 1 320px; }
/* === Footer - Enlaces principales alineados con las redes === */
.footer-bottom .footer-links-horizontal { justify-content: flex-end; }
/* === Footer - Densidad de lectura para dispositivos con ratón === */
@media (min-width: 992px) and (pointer: fine) {
    /* === Footer - Enlaces compactos conservando el interlineado === */
    .footer-link-card a, .footer-links-horizontal a { min-height: 32px; }
    /* === Footer - Contactos compactos en escritorio === */
    .footer-info-links a { padding: 0; }
}
/* === Footer - Navegación en tabletas y móviles === */
@media (max-width: 991.98px) {
    /* === Footer - Franja social centrada en tabletas === */
    .footer-social-strip { justify-content: center; text-align: center; }
    /* === Footer - Orden natural y navegación centrada === */
    .footer-bottom { justify-content: center; }
    /* === Footer - Menús inferiores centrados === */
    .footer-bottom .footer-links-horizontal { justify-content: center; }
}
/* === Footer - Reorganización móvil === */
@media (max-width: 575.98px) {
    /* === Footer móvil - Cabecera alineada === */
    .footer-brand { align-items: flex-start !important; gap: 16px !important; }
    /* === Footer móvil - Tamaño natural de marca === */
    .footer-brand-mark { flex: 0 0 64px; }
    /* === Footer móvil - Horarios apilados === */
    .footer-hours-list { grid-template-columns: 1fr; }
    /* === Footer móvil - Navegación legible === */
    .footer-links-horizontal { column-gap: 16px; }
}
/* === Footer - Respeto de movimiento reducido === */
@media (prefers-reduced-motion: reduce) {
    /* === Footer - Enlaces sin transición === */
    .site-footer a { transition: none; }
}


/* ==========================================================================
   CONTACT PAGE & FORM STYLES
   ========================================================================== */
.mpr-contact-form-container {
    background-color: #ffffff;
}

.mpr-contact-form .form-label {
    font-size: 0.85rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: #4a5568;
    margin-bottom: 0.5rem;
}

.mpr-contact-form .form-control,
.mpr-contact-form .form-select {
    font-size: 0.95rem;
    padding: 0.78rem 1rem;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 8px;
    background-color: #fcfcfc;
    color: #2d3748;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.mpr-contact-form .form-control:focus,
.mpr-contact-form .form-select:focus {
    border-color: #026b39;
    background-color: #ffffff;
    box-shadow: 0 0 0 4px rgba(2, 107, 57, 0.08);
    outline: 0;
}

.mpr-contact-form .invalid-feedback {
    font-size: 0.8rem;
    margin-top: 0.35rem;
}

.mpr-contact-details h3 {
    margin-bottom: 0.2rem;
}

.mpr-contact-details p {
    font-size: 0.95rem;
    line-height: 1.55;
}

.mpr-contact-details a {
    transition: color 0.2s ease;
}

.mpr-contact-details a:hover {
    color: #ffd715 !important;
}


/* Tour reservation sidebar (ported from the functional theme template). */
.mpr-offer-card{background:#fff;border:1px solid #e0e4eb;border-radius:26px;box-shadow:0 22px 55px rgba(17,24,39,.08);color:#111827;margin:18px 0;padding:clamp(28px,3vw,40px);position:relative}.mpr-offer-card *{box-sizing:border-box}.mpr-offer-badge{background:#df2427;border-radius:999px;color:#fff;font-size:1rem;font-weight:900;left:34px;line-height:1;padding:.55rem 1.25rem .6rem;position:absolute;text-transform:uppercase;top:0;transform:translateY(-50%)}.mpr-offer-card.is-consultation .mpr-offer-badge{background:#265b33}.mpr-offer-form{display:grid;gap:26px}.mpr-offer-from{color:#374151;font-size:1.1rem;font-weight:800;text-transform:uppercase}.mpr-offer-price{align-items:baseline;color:#265b33;display:flex;flex-wrap:wrap;font-size:2.2em;font-weight:950;gap:.45rem;line-height:1}.mpr-offer-price em{color:#374151;font-size:1rem;font-style:normal;font-weight:400}.mpr-offer-field{align-items:center;display:grid;position:relative}.mpr-offer-field>span,.mpr-travelers-heading{color:#7a817c;font-size:.82rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.mpr-offer-select,.mpr-traveler-qty{appearance:none;background:#f7f8fb;border:1px solid #dfe3ea;border-radius:12px;color:#111827;cursor:pointer;font:inherit;font-weight:800;min-height:52px;outline:0;padding:.35rem 2.3rem .35rem .9rem;transition:.2s}.mpr-offer-select{min-height:56px;padding:0 3.15rem 0 1.15rem;width:100%}.mpr-offer-return-field{background:#fff;border:1px solid #dfe3ea;border-radius:14px;min-height:56px;transition:.22s}.mpr-offer-return-field:hover,.mpr-offer-return-field:focus-within,.mpr-offer-date-wrap:hover,.mpr-offer-date-wrap.is-open{border-color:#265b33;box-shadow:0 12px 30px rgba(38,91,51,.14);transform:translateY(-1px)}.mpr-offer-return-field .mpr-offer-select{background:transparent;border:0;border-radius:14px;font-size:1.05rem}.mpr-offer-return-field>i{color:#6b7280;pointer-events:none;position:absolute;right:1.2rem}.mpr-offer-select:focus,.mpr-traveler-qty:focus{border-color:#265b33;box-shadow:0 0 0 4px rgba(38,91,51,.12)}.mpr-travelers-box{border-top:1px solid #e0e4eb;display:grid;gap:1rem;padding-top:.25rem}.mpr-traveler-row{align-items:center;display:grid;gap:1rem;grid-template-columns:minmax(0,1fr) 88px}.mpr-traveler-row strong{color:#2f3432;display:block;font-size:1rem;line-height:1.2}.mpr-traveler-row span{color:#7a817c;display:block;font-size:.93rem;line-height:1.4;margin-top:.2rem}.mpr-traveler-qty{text-align:center;width:100%}.mpr-offer-date-wrap{align-items:center;background:#fff;border:1px solid #dfe3ea;border-radius:14px;color:#6b7280;cursor:pointer;display:grid;gap:.85rem;grid-template-columns:auto minmax(0,1fr) auto;min-height:56px;padding:0 1.15rem;transition:.22s}.mpr-offer-date-input{background:#fff;border:0;color:#111827;cursor:pointer;font-size:1.05rem;font-weight:750;outline:0;width:100%}.mpr-offer-date-input::placeholder{color:#111827;opacity:1}.mpr-offer-total{align-items:center;background:#eff7f1;border:1px solid #cfe2d3;border-radius:12px;color:#374151;display:flex;gap:1rem;justify-content:space-between;padding:.85rem 1rem}.mpr-offer-total>strong{color:#265b33;font-weight:900;white-space:nowrap}.mpr-offer-primary,.mpr-offer-secondary{align-items:center;border-radius:14px;display:inline-flex;font-size:1.15rem;font-weight:900;justify-content:center;min-height:64px;text-decoration:none;transition:.22s;width:100%}.mpr-offer-primary{background:#ffc82f;border:1px solid #ffc82f;color:#043c2c}.mpr-offer-primary:hover{background:#f1b900;border-color:#f1b900;color:#043c2c;transform:translateY(-1px)}.mpr-offer-secondary{background:#fff;border:1px solid #dfe3ea;color:#111827!important}.mpr-offer-secondary:hover{border-color:#bfc7d4;color:#111827!important;transform:translateY(-1px)}.mpr-offer-benefits{border-top:1px solid #e0e4eb;display:grid;gap:1rem;padding-top:24px}.mpr-offer-benefits div{align-items:center;color:#111827;display:flex;font-size:1.05rem;font-weight:750;gap:.85rem;line-height:1.3}.mpr-offer-benefits .fa-check{color:#265b33;font-size:1.3rem}.air-datepicker{border:1px solid #dfe3ea;border-radius:18px;box-shadow:0 24px 60px rgba(17,24,39,.18);z-index:10000}.air-datepicker-cell.-selected-,.air-datepicker-cell.-selected-.-focus-{background:#265b33}.air-datepicker-cell.-current-{color:#265b33}
.mpr-support-card{background:#fff;border:1px solid #e2e7ef;border-radius:20px;box-shadow:0 16px 40px rgba(17,24,39,.07);display:grid;gap:18px;margin-bottom:24px;padding:22px}.mpr-support-head{align-items:flex-start;display:grid;gap:14px;grid-template-columns:auto minmax(0,1fr)}.mpr-support-avatar{position:relative}.mpr-support-avatar img{border:3px solid #fff;border-radius:999px;box-shadow:0 10px 24px rgba(17,24,39,.16);display:block;height:62px;object-fit:cover;width:62px}.mpr-support-avatar span{background:#265b33;border:3px solid #fff;border-radius:50%;bottom:3px;height:16px;position:absolute;right:3px;width:16px}.mpr-support-kicker{color:#265b33;font-size:.74rem;font-weight:900;letter-spacing:.08em;margin-bottom:.35rem;text-transform:uppercase}.mpr-support-card h3{color:#111827;font-size:1.18rem;font-weight:900;line-height:1.18;margin:0}.mpr-support-card p{color:#6b7280;font-size:.95rem;line-height:1.5;margin:.45rem 0 0}.mpr-support-actions{display:grid;gap:10px}.mpr-support-primary,.mpr-support-secondary{align-items:center;border-radius:12px;display:inline-flex;font-weight:850;gap:.55rem;justify-content:center;min-height:50px;text-decoration:none;transition:.2s}.mpr-support-primary{background:#265b33;border:1px solid #265b33;color:#fff!important}.mpr-support-primary:hover{background:#1c4426;color:#fff!important;transform:translateY(-1px)}.mpr-support-secondary{background:#f8fafc;border:1px solid #dfe5ee;color:#111827!important}.mpr-support-contact-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.mpr-support-contact-grid a{background:#f8fafc;border:1px solid #e2e7ef;border-radius:12px;display:block;min-width:0;padding:.8rem;text-decoration:none}.mpr-support-contact-grid a:hover{border-color:#265b33}.mpr-support-contact-grid span{color:#6b7280;display:block;font-size:.76rem;font-weight:800;margin-bottom:.35rem;text-transform:uppercase}.mpr-support-contact-grid strong{color:#111827;display:block;font-size:.9rem;overflow-wrap:anywhere}.mpr-support-trust{align-items:center;border-top:1px solid #e2e7ef;display:flex;gap:14px;justify-content:space-between;padding-top:16px}.mpr-support-trust strong,.mpr-support-trust span{display:block}.mpr-support-trust strong{color:#111827;font-size:.96rem}.mpr-support-trust span{color:#6b7280;font-size:.82rem;margin-top:.2rem}.mpr-support-trust img{display:block;height:auto;max-width:118px}
.mpt-tour-contact-sidebar{align-self:flex-start}.mpt-tour-contact-sidebar-inner{position:sticky;top:24px}.mpr-company-contact{border-top:1px solid #e2e7ef;display:grid;gap:8px;padding-top:18px}.mpr-company-contact h4{color:#111827;font-size:1rem;font-weight:900;letter-spacing:.04em;margin:0 0 4px;text-transform:uppercase}.mpr-company-contact-row{align-items:center;background:#f8fafc;border:1px solid #e2e7ef;border-radius:12px;color:#111827!important;display:grid;gap:12px;grid-template-columns:34px minmax(0,1fr);min-height:58px;padding:10px 12px;text-decoration:none!important;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.mpr-company-contact-row:hover{background:#fff;border-color:#265b33;transform:translateY(-1px)}.mpr-company-contact-row>i{align-items:center;background:#eaf3ec;border-radius:999px;color:#265b33;display:inline-flex;height:34px;justify-content:center;width:34px}.mpr-company-contact-row span,.mpr-company-contact-row small,.mpr-company-contact-row strong{display:block;min-width:0}.mpr-company-contact-row small{color:#6b7280;font-size:.68rem;font-weight:850;letter-spacing:.08em;line-height:1.2;margin-bottom:3px;text-transform:uppercase}.mpr-company-contact-row strong{color:#111827;font-size:.88rem;font-weight:850;line-height:1.3;overflow-wrap:anywhere}.mpr-company-legal{background:#eff6f1;border:1px solid #d5e5d9;border-radius:12px;color:#374151;padding:14px}.mpr-company-legal strong,.mpr-company-legal span{display:block}.mpr-company-legal strong{color:#163f23;font-size:.86rem;line-height:1.35}.mpr-company-legal span{font-size:.8rem;margin-top:4px}.main-content>.container>.row{align-items:flex-start}

/* Book online form */
.mpr-offer-booking-field{align-content:start;gap:.35rem}.mpr-offer-input-label{color:#026b39!important;display:block;font-size:.7rem;font-weight:900;letter-spacing:.08em;line-height:1.2;text-transform:uppercase}.mpr-offer-return-field{align-items:center;display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative;width:100%}.mpr-offer-date-input,.mpr-offer-return-field .mpr-offer-select{font-size:.94rem}
@media(max-width:575.98px){.mpr-offer-card{border-radius:20px;padding:30px 20px 24px}.mpr-offer-badge{font-size:.86rem;left:20px}.mpr-offer-price{font-size:2rem}.mpr-offer-primary,.mpr-offer-secondary{font-size:1rem;min-height:58px}.mpr-offer-total{align-items:flex-start;flex-direction:column}.mpr-support-head,.mpr-support-contact-grid{grid-template-columns:1fr}.mpr-support-trust{align-items:flex-start;flex-direction:column}}
@media(max-width:991.98px){.mpt-tour-contact-sidebar{margin-top:28px}.mpt-tour-contact-sidebar-inner{position:static}}

.mpr-offer-card.is-price-inquiry{padding-top:44px}.mpr-price-inquiry{gap:20px;text-align:center}.mpr-price-inquiry-icon{align-items:center;background:#eaf3ec;border-radius:999px;color:#265b33;display:flex;font-size:1.8rem;height:68px;justify-content:center;margin:0 auto;width:68px}.mpr-price-inquiry-copy h3{color:#163f23;font-size:1.55rem;font-weight:900;margin:0 0 10px}.mpr-price-inquiry-copy p{color:#4b5563;font-size:1rem;line-height:1.65;margin:0}.mpr-price-inquiry .mpr-offer-primary{margin-top:4px}

/* === Tour Offer Card - Lowest Price Condition === */
.mpr-offer-price-cond {
    color: #4b5563;
    font-size: 0.88rem;
    font-weight: 500;
}

/* === Tour Floating Bar - Lowest Price Condition === */
.mth-floating-price-cond {
    color: #4b5563;
    font-size: 0.72rem;
    font-weight: 600;
    margin-left: 2px;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .mth-floating-price-cond {
        font-size: 0.6rem;
        max-width: 80px;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
}

/* === Formulario de Contacto Footer & Modal (.mtfc-contact-form.mtfc-footer-form) === */
.mtfc-footer-form {
    position: relative;
}

.mtfc-footer-form .form-label {
    font-size: 0.84rem;
    color: #1e293b;
    font-weight: 600;
    margin-bottom: 0.35rem;
    display: inline-block;
    transition: color 0.25s ease, transform 0.2s ease;
}

.mtfc-footer-form [class*="col-"]:focus-within .form-label {
    color: #026b39;
    font-weight: 700;
}

/* Contenedor del campo con icono */
.mtfc-field-wrap {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

/* Icono dentro del campo con animación y transición fluida */
.mtfc-field-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: #94a3b8;
    font-size: 0.95rem;
    pointer-events: none;
    z-index: 3;
    transition: color 0.25s ease, transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.25s ease;
}

.mtfc-field-icon--textarea {
    top: 18px;
    transform: none;
}

/* Inputs y Textareas */
.mtfc-footer-form .form-control {
    border: 1.5px solid #d1d5db;
    border-radius: 8px;
    color: #171717;
    background-color: #ffffff;
    padding: 0.7rem 0.95rem 0.7rem 2.65rem;
    font-size: 0.92rem;
    line-height: 1.45;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    transition: border-color 0.22s ease, box-shadow 0.22s ease, background-color 0.2s ease, transform 0.18s ease;
}

.mtfc-footer-form .form-control::placeholder {
    color: #94a3b8;
    font-size: 0.88rem;
    opacity: 1;
}

/* Efecto Hover: cambio de color en borde, fondo e icono */
.mtfc-field-wrap:hover .form-control {
    border-color: #026b39;
    background-color: #fafdfb;
    box-shadow: 0 2px 8px rgba(2, 107, 57, 0.08) !important;
}

.mtfc-field-wrap:hover .mtfc-field-icon {
    color: #026b39;
    transform: translateY(-50%) scale(1.15);
}

.mtfc-field-wrap:hover .mtfc-field-icon--textarea {
    transform: scale(1.15);
}

/* Efecto Focus / Active: elevación, halo verde corporativo y animación de color en el icono */
.mtfc-field-wrap:focus-within .form-control {
    border-color: #026b39 !important;
    background-color: #ffffff !important;
    box-shadow: 0 0 0 3.5px rgba(2, 107, 57, 0.15), 0 3px 10px rgba(0, 0, 0, 0.05) !important;
    outline: none !important;
    transform: translateY(-1px);
}

.mtfc-field-wrap:focus-within .mtfc-field-icon {
    color: #026b39;
    transform: translateY(-50%) scale(1.2);
    filter: drop-shadow(0 2px 4px rgba(2, 107, 57, 0.25));
}

.mtfc-field-wrap:focus-within .mtfc-field-icon--textarea {
    transform: scale(1.2);
}

/* Animación sutil de color y rebote al enfocar cada icono */
@keyframes mtfcIconFocusAnim {
    0% { transform: translateY(-50%) scale(1); color: #94a3b8; }
    40% { transform: translateY(-50%) scale(1.28); color: #ffd715; }
    100% { transform: translateY(-50%) scale(1.2); color: #026b39; }
}

.mtfc-field-wrap:focus-within .mtfc-field-icon:not(.mtfc-field-icon--textarea) {
    animation: mtfcIconFocusAnim 0.35s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
}

.mtfc-footer-form .mtfc-message {
    min-height: 120px;
    resize: vertical;
}

/* === Botón de Envío del Formulario en Footer y Modal === */
.mtfc-footer-form .mtfrontage-btn-send {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: #026b39;
    color: #ffffff;
    border: none;
    border-radius: 8px;
    padding: 0.85rem 1.65rem;
    width: 100%;
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: all 0.25s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.mtfc-footer-form .mtfrontage-btn-send i {
    transition: transform 0.25s ease, color 0.25s ease;
}

.mtfc-footer-form .mtfrontage-btn-send:hover {
    background: #01532c;
    color: #ffd715;
    box-shadow: 0 6px 18px rgba(2, 107, 57, 0.3);
    transform: translateY(-2px);
}

.mtfc-footer-form .mtfrontage-btn-send:hover i {
    transform: translateX(4px);
    color: #ffd715;
}

.mtfc-footer-form .mtfrontage-btn-send:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(2, 107, 57, 0.2);
}

.mtfc-footer-form .mtfrontage-btn-send:disabled {
    cursor: wait;
    opacity: 0.72;
    transform: none;
    box-shadow: none;
}

/* === Tour Cards - Condición y Precio Más Bajo en Footer === */
.mpt-tour-card__price small.mpt-tour-card__price-condition {
    display: inline-flex !important;
    align-items: center;
    gap: 4px;
    color: #026b39 !important;
    font-size: 0.74rem !important;
    font-weight: 700 !important;
    text-transform: none !important;
    line-height: 1.25 !important;
    margin-top: 2px;
}

.mpt-tour-card__price small.mpt-tour-card__price-condition i {
    font-size: 0.7rem;
    color: #026b39;
    flex-shrink: 0;
}

/* === Tour Detail - Customer Reviews (Linked to Tour) === */
/* Contenedor de la sección de reseñas de clientes del tour */
.mpr-tour-customer-reviews-section {
    background-color: #ffffff;
    margin-top: 2rem;
    margin-bottom: 2rem;
}

/* Tarjeta de resumen superior con calificación global y barras */
.mpr-reviews-summary-card {
    background-color: #f7f7f5;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
}

/* Número de puntuación general en grande */
.mpr-reviews-score-big {
    font-size: 3rem;
    font-weight: 800;
    color: #171717;
    line-height: 1;
    display: block;
}

/* Estrellas en la caja de resumen */
.mpr-reviews-score-stars {
    font-size: 1.15rem;
    color: #ffd715;
}

/* Fila de barra de distribución de estrellas */
.mpr-reviews-bar-row {
    font-size: 0.85rem;
}

/* Lista vertical de reseñas: una sobre otra */
.mpr-reviews-stacked-list {
    display: flex;
    flex-direction: column;
}

/* Tarjeta individual de reseña apilada */
.mpr-single-review-item {
    transition: background-color 0.2s ease;
}

.mpr-single-review-item:last-child {
    border-bottom: 0 !important;
}

/* Bolita / Avatar del autor */
.mpr-review-item-avatar {
    width: 46px;
    height: 46px;
    min-width: 46px;
    min-height: 46px;
    border-radius: 50%;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Imagen del avatar */
.mpr-review-item-avatar-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid #026b39;
}

/* Iniciales cuando no hay imagen */
.mpr-review-item-avatar-initials {
    width: 100%;
    height: 100%;
    background-color: #026b39;
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    user-select: none;
}

/* Nombre del autor */
.mpr-review-item-name {
    font-size: 0.98rem;
    font-weight: 700;
    color: #171717;
}

/* Badge de viajero verificado */
.mpr-review-verified-badge {
    font-size: 0.78rem;
    color: #026b39;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

/* Estrellas del review individual */
.mpr-review-item-stars {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    font-size: 0.85rem;
}

.mpr-review-item-stars .star-filled {
    color: #ffd715;
}

.mpr-review-item-stars .star-empty {
    color: #e5e5e5;
}

/* Badge de calificación (ej. 5.0 | Excellent) */
.mpr-review-rating-pill {
    background-color: #eef4f0;
    color: #026b39;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    line-height: 1.3;
}

/* Tag de origen de plataforma */
.mpr-review-origin-tag {
    display: inline-flex;
    align-items: center;
    background-color: #f7f7f5;
    border: 1px solid #e5e5e5;
    border-radius: 4px;
    padding: 2px 8px;
}

/* Enlace a la fuente original de la reseña */
.mpr-review-item-source-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #026b39;
    text-decoration: none;
    transition: color 0.2s ease, text-decoration 0.2s ease;
}

.mpr-review-item-source-link:hover {
    color: #014d28;
    text-decoration: underline;
}

@media (min-width: 768px) {
    .border-md-end {
        border-right: 1px solid #e5e5e5;
    }
}



