/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

div.elementor-slideshow__title, div.elementor-slideshow__description {display: none;}

.menu_responsive_in { font-weight:normal; }
.menu_responsive_out { color: gray; }
.menu_responsive_extra { display:none; }
.menu_responsive_zona {font-weight: 500!important; color: #5f5555!important; }

.myreadmore_div_A_1, .myreadmore_div_B_1, .myreadmore_div_C_1 { padding-bottom: 15px; display:block; text-align:justify; }
.myreadmore_div_A_2, .myreadmore_div_B_2, .myreadmore_div_C_2 { padding-bottom: 15px; display:none; text-align:justify; }
.myreadmore_btn_A, .myreadmore_btn_B, .myreadmore_btn_C 	{ display:block; font-weight: bold; }
.myreadmore_btn_A a, .myreadmore_btn_B a, .myreadmore_btn_C a	{ color: #287FE6; }

.elementor-cta--skin-cover .elementor-cta__button.elementor-button, .elementor-cta--skin-cover .elementor-cta__content-item, .elementor-cta--skin-cover .elementor-cta__content-item .elementor-icon {
       
text-shadow: 2px 3px 5px rgba(0, 0, 0, 0.50); }

#header_promo { display:none; } /* Header Inicial */

.label { padding:0px!important; font-size: 17px; }
.waiting_list:hover {
  color: white;
}


@media (min-width: 796px ){
	.onlyDesktop { display:block; }
	.onlyResponsive { display:none; }
}

@media (max-width: 795px ){
	.onlyDesktop { display:none; }
	.onlyResponsive { display:block; }
}

.e-load-more-anchor::before {
  font-size: 28px;  
}

@media only screen and (min-width: 1441px) and (max-width: 1570px) {
	body{
		zoom: 0.9;
	}
	
	/* Cuando está sticky en fixed → desplazado 100px */
	.caja-fija-side.has_ae_slider.elementor-sticky--active {
		right: 100px !important;
		inset-inline-start: auto !important;
	}

	/* Cuando Elementor lo pasa a absolute → márgen 0 (pegado al borde del contenedor) */
	.caja-fija-side.has_ae_slider.elementor-sticky--active.is-absolute {
		right: 0 !important;
	}
	
	.caja-fija-side-iz{
		inset-inline-start: auto!important;
	}
}

/* Add your custom styles here */
.elementor-text-editor p:last-child, .textwidget p:last-child, .elementor-widget-container p:last-child, .elementor-widget-text-editor p:last-child{ margin-bottom:0px;}  
p:last-child{ margin-bottom:0px;}  

.img-backcover-effect {
    flex: 1;	
	position: relative;
   	display: flex;
   	align-items: stretch;
	& img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
    		object-fit: cover;
	}
}

.caja-link {
    cursor: pointer;
	}

#barra-reserva, #botonBuscar, #botonBuscarMovil {
    opacity: 0;
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
}

#barra-reserva.visible, #botonBuscar.visible, #botonBuscarMovil.visible {
    opacity: 1;
    pointer-events: auto;
}


/* Cabecera con efecto scroll en la home */
.head-fix.scroleando{
	box-shadow: 0px 0px 30px 0px rgba(0, 0, 0, 0.10);
}

.home .head-fix .bg-menu{
	background-color: transparent !important;
}

.home .head-fix.scroleando .bg-menu{
	background-color: #fff!important;
}

.home .head-fix .contacto a{
	background-color: var(--e-global-color-4a0d67f)!important;
}

.home .head-fix.scroleando .contacto a .elementor-button-text{	
	color: var(--e-global-color-4a0d67f)!important;
}


.home .head-fix.scroleando .contacto a{
	background-color: var(--e-global-color-primary)!important;
}

.home .head-fix .contacto a .elementor-button-text{	
	color: var(--e-global-color-primary);
}

.home .head-fix .logo img,
.home .head-fix .menu .e-n-menu-title-container a,
.home .head-fix .menu .e-n-menu-title-text,
.home .head-fix .mi-paso svg,
.home .head-fix .btn-menu-movil svg
{	
 	-webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.home .head-fix .menu.sub-menu-destino .e-n-menu-title-text{
	-webkit-filter: none;
    filter: none;
}

.home .head-fix.scroleando .logo img,
.home .head-fix.scroleando .menu .e-n-menu-title-container a,
.home .head-fix.scroleando .menu .e-n-menu-title-text,
.home .head-fix.scroleando .mi-paso svg,
.home .head-fix.scroleando .btn-menu-movil svg
{	
 	-webkit-filter: none;
    filter: none;
}

.elementor-nav-menu--dropdown {
    background-color: white !important;
}

.elementor-nav-menu--dropdown a {
    color: black !important;
    filter: none !important;
    transition: color 0.3s ease-in-out; 
}

.elementor-nav-menu--dropdown svg {
    filter: brightness(0) invert(0) !important;
}

.elementor-nav-menu--dropdown a:hover {
    color: #287FE6 !important; /* Azul en hover */
}

@media (max-width: 1024px) {
	 .home .head-fix .elementor-menu-toggle svg rect {
        fill: white !important;
    }

    .home .head-fix.scroleando .elementor-menu-toggle svg rect {
        fill: var(--e-global-color-primary) !important; 
    }
    .elementor-nav-menu--dropdown {
        background-color: white !important;
    }
    .elementor-nav-menu--dropdown a {
        color: black !important;
        filter: none !important;
    }
    .elementor-nav-menu--dropdown svg {
        filter: brightness(0) invert(0) !important;
    }
}

@media (max-width: 768px) {
    /* Convertir Loop Grid y Grid Normal en sliders */
    .loop-slider .elementor-loop-container,
    .grid-slider.e-grid .e-con-inner {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scroll-snap-type: x mandatory !important;
        -webkit-overflow-scrolling: touch;
        gap: 15px;
    }

    /* Estilos individuales para cada slide */
    .loop-slider .e-loop-item,
    .grid-slider.e-grid .elementor-element {
        max-width: 60% !important;
        flex: 0 0 auto !important;
        scroll-snap-align: start;
    }

    /* Ocultar scrollbar en móviles */
    .loop-slider .elementor-loop-container::-webkit-scrollbar,
    .grid-slider.e-grid .e-con-inner::-webkit-scrollbar {
        display: none;
    }
}

.listaAzul .elementor-icon-list-item:first-child .elementor-icon-list-text {
    color: #287FE6 !important;
}

.negritaInv strong {
    background-color: transparent !important;
    padding: 0 !important;
    font-weight: bold !important; 
	color:#FFB509;
}

.salida-llegada {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
}

.salida, .llegada {
    text-align: center;
}

.salida .dia, .llegada .dia {
    font-size: 30px;
    font-weight: bold;
    color: #287FE6;
	line-height: 100%; 
}

.salida .mes, .llegada .mes {
    font-size: 18px;
    font-weight: bold;
    color: #142136; 
    text-transform: uppercase;
	line-height: 100%; 
}

.myblue { color: #287FE6; }

.booking_strikethrough {
    position: relative;
    display: inline-block;
}
 
.booking_strikethrough:before {
    content: "";
    position: absolute;
    top: 40%; /* Centrado vertical */
    left: -5%; /* Sobresale por la izquierda */
    width: 110%; /* Más ancho que el texto (sobresale) */
    height: 1px; /* Grosor de la línea */
    background-color: red; /* Color del tachado */
    transform: rotate(-10deg); /* Ángulo diagonal */
    transform-origin: center;
}


.booking_strikethrough  {
	font-size: 19px;
	font-weight: bold;
}

@media (max-width: 795px) {
	.booking_strikethrough { font-size: 16px!important; }
}

.precio-presupuesto {
    display: flex;
    align-items: center;
    gap: 40px; /* Espacio entre los elementos */
}

.precio, .presupuesto {
    text-align: left;
}

.precio .valor, .presupuesto .valor {
    font-size: 22px;
    font-weight: bold;
    color: #287FE6; 
}

.precio .label, .presupuesto .label {
    font-size: 17px;
    font-weight: bold;
    color: #142136; 
    text-transform: uppercase;
}

@media (max-width: 795px) {
	.precio .valor, .presupuesto .valor {
		font-size: 22px;
	}
	.precio .label, .presupuesto .label {
		font-size: 16px;
	}
}

.centrar-icono {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%; /* Asegura que ocupe toda la altura */
}

.centrar-icono .elementor-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.dificultad img {
    width: 55px;
    height: 55px;
}

@media screen and (max-width: 767px) {
    .dificultad-responsive img {
        width: 40px !important;
        height: 40px !important;
    }
}

.top-bar-ruta{
	display: flex;
	align-items: center; 
	gap: 20px; 
	flex-wrap: wrap;
}

.top-bar-localizacion{
	color: #007bff; 
	font-weight: bold; 
	text-transform: uppercase; 
	font-size: 16px;
	margin-top: 7px;
}

.top-bar-viaje{
	display: flex; 
	align-items: center; 
	gap: 10px; 
	white-space: nowrap;
}

.top-bar-viaje span:last-child{	
	margin-top: 3px;
}

.busca-menu{
	display:none!important;
}

@media screen and (max-width: 767px) {
	.busca-menu{
		display:block!important;
	}	
}


/*Link para todo el widget de caja de icono*/
/* Solo Icon Box con la clase personalizada */
.elementor-widget-icon-box.ibox-link .elementor-icon-box-wrapper {
  position: relative;
}

/* Evita que los enlaces internos capten el clic/teclado */
.elementor-widget-icon-box.ibox-link .elementor-icon-box-title a,
.elementor-widget-icon-box.ibox-link .elementor-icon a {
  pointer-events: none;
}

/* Capa de enlace que cubrirá todo el widget */
.elementor-widget-icon-box.ibox-link .elementor-icon-box-wrapper > a.full-link {
  position: absolute;
  inset: 0;           /* top/right/bottom/left: 0 */
  z-index: 1;
  display: block;
  text-indent: -9999px;   /* oculta texto accesible si lo añades */
  background: transparent;
}

/* (Opcional) feedback hover/foco */
.elementor-widget-icon-box.ibox-link:hover { cursor: pointer; }
.elementor-widget-icon-box.ibox-link:focus-within { outline: 2px solid currentColor; outline-offset: 2px; }



/* ====== BUSCADOR HOME (estilo pill) ====== */
.buscador-home .wpc-filters-open-button-container,
.buscador-home .wpc-instead-of-posts-found,
.buscador-home .wpc-filter-header,
.buscador-home .wpc-filters-reset-button {
  display: none !important;
}

.buscador-home .wpc-filters-widget-content {
  display: block !important;
}

/* Contenedor principal tipo “pastilla” */
.buscador-home .wpc-filters-widget-wrapper{
  display: grid !important;
  grid-template-columns: 1fr 1fr auto;
  align-items: center !important;
  gap: 0;                       /* sin huecos: los separadores ya marcan ritmo */
  width: 100% !important;

  background: #fff;
  border-radius: 9999px;
  padding: 8px 5px;
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  position: relative;
}

/* Bloques de filtro */
.buscador-home .wpc-filters-section{
  margin: 0 !important;
  padding: 0 22px !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative;
}

/* Separadores verticales (solo entre los dos selects) */
.buscador-home .wpc-filters-widget-wrapper > .wpc-filters-section:not(.wpc-filter-layout-submit-button):nth-child(-n+2)::after{
  content:"";
  position:absolute;
  top:50%;
  right:-1px;
  transform:translateY(-50%);
  width:1px;
  height:50px;
  background:var(--e-global-color-primary);
}

/* Selects “limpios” con flecha */
.buscador-home .wpc-filter-content select.wpc-filters-widget-select{
  width:100%;
  border:0 !important;
  background: transparent !important;
  outline: none !important;
	color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-text-font-family), Sans-serif;
	font-size: var(--e-global-typography-text-font-size);
	font-weight: 500;
	line-height: var(--e-global-typography-text-line-height);
}

.buscador-home .wpc-filter-content select {
    margin-bottom: 0em;
}

/* Opciones del select */
.buscador-home .wpc-filters-widget-select option{
  color:#111;
}

/* Botón “Buscar viajes” */
.buscador-home .wpc-filter-layout-submit-button{
  display:flex;
  justify-content:flex-end;
  padding: 0 6px !important;
}

.buscador-home .wpc-filters-submit-button {
	background: #2E77F3;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 48px !important;
    height: 48px;
    padding: 24px !important;
    text-indent: -9999px;
    overflow: hidden;
    white-space: nowrap !important;
    background-image: url(https://www.pasonoroeste.com/wp-content/uploads/2025/09/lupa.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
}



/* Placeholders de campo de búsqueda si algún filtro usa input */
.buscador-home .wpc-filter-search-field::placeholder,
.buscador-home .wpc-filter-search-field::-webkit-input-placeholder,
.buscador-home .wpc-filter-search-field:-ms-input-placeholder,
.buscador-home .wpc-filter-search-field::-moz-placeholder,
.buscador-home .wpc-filter-search-field:-moz-placeholder{
  color:var(--e-global-color-primary);
  opacity:1;
}

/* ====== Responsive ====== */
@media (max-width: 767px){
	.buscador-home .wpc-filters-widget-wrapper {
		padding: 8px 6px;
	}
	
	.buscador-home .wpc-filters-section {
		padding: 0 5px !important;
	}
	
	.buscador-home .wpc-filters-submit-button {
		padding: 20px !important;
		width: 40px !important;
    	height: 40px;
	}
	
	.buscador-home .wpc-filters-widget-wrapper > .wpc-filters-section:not(.wpc-filter-layout-submit-button):nth-child(-n+2)::after{
		  height:80%;
	}
	
	.menu_responsive_in { font-weight:normal!important; }
	.menu_responsive_out { display:none;  }
	.menu_responsive_extra { display: visible!important; }
	
}

.iconos-caracteristicas{
	display:flex;
	justify-content: center;
    gap: 20px;
	flex-wrap: wrap;
}

.iconos-caracteristicas .caracteristica {
	display: flex;
    align-items: center;
    flex-direction: column;
    gap: 8px;
}

.iconos-caracteristicas .caracteristica-texto{
	font-family: var(--e-global-typography-4ea9f39-font-family), Sans-serif;
    font-size: var(--e-global-typography-4ea9f39-font-size);
    font-weight: var(--e-global-typography-4ea9f39-font-weight);
    line-height: var(--e-global-typography-4ea9f39-line-height);
    color: var(--e-global-color-primary);
}

.iconos-caracteristicas .caracteristica img{
	width: 55px;
    border: 1px solid;
    border-radius: 999px;
    padding: 6px;
}

.no-viajes{
	display: flex;
    flex-direction: column;
    gap: 30px;
    border-radius: 30px 30px 30px 30px;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    padding-right: 30px;
    background-color: var(--e-global-color-884581a);
}

.no-viajes a{
	background-color: var(--e-global-color-accent);
    font-family: "League Spartan", Sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 0.9em;
    fill: var(--e-global-color-4a0d67f);
    color: var(--e-global-color-4a0d67f);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-primary);
    border-radius: 40px 40px 40px 40px;
    padding: 16px 30px 14px 30px;
}

.no-viajes a:hover{
	background-color: var(--e-global-color-4a0d67f);
    color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);	
}


.no-viaje-pais{
    display: flex;
    flex-direction: column;
    gap: 30px;
    border-radius: 30px 30px 30px 30px;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 30px;
    padding-right: 30px;
    background-color: var(--e-global-color-884581a);
    max-width: 450px;
    margin: 60px auto 0;
}

.no-viaje-pais a{
	background-color: var(--e-global-color-accent);
    font-family: "League Spartan", Sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    line-height: 0.9em;
    fill: var(--e-global-color-4a0d67f);
    color: var(--e-global-color-4a0d67f);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--e-global-color-primary);
    border-radius: 40px 40px 40px 40px;
    padding: 16px 30px 14px 30px;
}

.no-viaje-pais a:hover{
	background-color: var(--e-global-color-4a0d67f);
    color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);	
}

/* Web DGC Alert */
.dgcAlert {
	top: 100px;
	position: absolute;
	width: 100%;
	display: block;
	height: 1000px; 
	background: url("https://www.pasonoroeste.com/oficinator/images/fondoAlert.png") repeat; text-align:center; opacity:0; display:none; z-index:999999999999999;
}
.dgcAlert .dgcVentana .dgcCerrar {
	height: 29px;
	width: 29px;
	position: absolute;
	top: 8px;
	right: 8px; 
	cursor: pointer; 
	background: url("https://www.pasonoroeste.com/oficinator/images/icons/close.png") no-repeat center center;
}
/* App Close Alert */
.appCerrar {
    height: 29px;
    width: 29px;
    position: absolute;
    top: 8px;
    right: 8px;
    cursor: pointer;
    background: url("https://www.pasonoroeste.com/oficinator/images/icons/close_app.png") no-repeat center center;
}
/* App Close Button */
#quick-login-panel .close {
	position: absolute;
	right: -30px;
	top: -30px;
	width: 40px;
	height: 40px;
	background: transparent url("https://www.pasonoroeste.com/oficinator/images/icons/close_app.png") no-repeat 0 0;
	opacity: 1;
	z-index: 100;
	border: 0px;
}
/* Log Close Button */
#quick-log-panel .close {
	position: absolute;
	right: -10px;
	top: -10px;
	width: 30px;
	height: 30px;
	background: transparent url("https://www.pasonoroeste.com/oficinator/images/icons/close.png") no-repeat 0 0;
	opacity: 1;
	z-index: 100;
	border: 0px;
}
/* ====== Responsive ====== */
@media (max-width: 767px){
	.dgcAlert {
		top: 0px;
	}
}

@media (max-width: 767px) {
  .cont-lmas .txt-lmas.is-collapsed {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }
}