.elementor-2480 .elementor-element.elementor-element-e655607{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:80px;--padding-bottom:80px;--padding-left:0px;--padding-right:0px;}.elementor-2480 .elementor-element.elementor-element-e655607:not(.elementor-motion-effects-element-type-background), .elementor-2480 .elementor-element.elementor-element-e655607 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://ubigeo.pwc.net.pe/wp-content/uploads/2024/05/OlivamWeb_BannerEncabezado1.jpg");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-2480 .elementor-element.elementor-element-e655607::before, .elementor-2480 .elementor-element.elementor-element-e655607 > .elementor-background-video-container::before, .elementor-2480 .elementor-element.elementor-element-e655607 > .e-con-inner > .elementor-background-video-container::before, .elementor-2480 .elementor-element.elementor-element-e655607 > .elementor-background-slideshow::before, .elementor-2480 .elementor-element.elementor-element-e655607 > .e-con-inner > .elementor-background-slideshow::before, .elementor-2480 .elementor-element.elementor-element-e655607 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#000000;--background-overlay:'';}.elementor-2480 .elementor-element.elementor-element-a7ad093{text-align:center;}.elementor-2480 .elementor-element.elementor-element-a7ad093 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:45px;font-weight:500;color:#FFFFFF;}.elementor-2480 .elementor-element.elementor-element-f44a275{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:50px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-2480 .elementor-element.elementor-element-985e802{--display:flex;}.elementor-2480 .elementor-element.elementor-element-f727ef3{text-align:center;}.elementor-2480 .elementor-element.elementor-element-f727ef3 .elementor-heading-title{font-family:"Bebas Neue", Sans-serif;font-size:35px;font-weight:500;color:var( --e-global-color-b19887c );}.elementor-2480 .elementor-element.elementor-element-6106456{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2480 .elementor-element.elementor-element-c1dd41a{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--border-radius:15px 15px 15px 15px;}.elementor-2480 .elementor-element.elementor-element-c1dd41a:not(.elementor-motion-effects-element-type-background), .elementor-2480 .elementor-element.elementor-element-c1dd41a > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-2480 .elementor-element.elementor-element-c205d2e{--display:flex;--border-radius:15px 15px 15px 15px;}:root{--page-title-display:none;}@media(min-width:768px){.elementor-2480 .elementor-element.elementor-element-f44a275{--content-width:677px;}.elementor-2480 .elementor-element.elementor-element-985e802{--width:100%;}.elementor-2480 .elementor-element.elementor-element-6106456{--content-width:1200px;}.elementor-2480 .elementor-element.elementor-element-c1dd41a{--width:30%;}.elementor-2480 .elementor-element.elementor-element-c205d2e{--width:70%;}}@media(max-width:1024px){.elementor-2480 .elementor-element.elementor-element-f44a275{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:40px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}}@media(max-width:767px){.elementor-2480 .elementor-element.elementor-element-f44a275{--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}.elementor-2480 .elementor-element.elementor-element-f727ef3 .elementor-heading-title{font-size:30px;}}/* Start custom CSS for html, class: .elementor-element-acb824b *//* Contenedor de tabla */
#tabla-horarios {
    margin-top: 20px;
}

/* Tabla elegante */
.tabla-horarios-bonita {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 5px 25px rgba(0,0,0,0.08);
}

/* Encabezado */
.tabla-horarios-bonita th {
    background: #4A6CF7;
    color: white;
    padding: 14px;
    text-align: center;
    font-size: 15px;
    font-weight: 600;
}

/* Filas */
.tabla-horarios-bonita td {
    padding: 14px;
    text-align: center;
    border-bottom: 1px solid #eee;
    font-size: 15px;
    color: #444;
}

.tabla-horarios-bonita tr:last-child td {
    border-bottom: none;
}

/* Hover */
.tabla-horarios-bonita tr:hover td {
    background: #f5f8ff;
}

/* Botón en tabla */
.btn-reservar-tabla {
    background: #28a745;
    color: white !important;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 14px;
    display: inline-block;
    transition: 0.2s ease;
}

.btn-reservar-tabla:hover {
    background: #1e7e34;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-6106456 */.btn-invertir-ruta {
    margin-top: 10px;
    background: #4A6CF7;
    color: white;
    border: none;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 14px;
    cursor: pointer;
    transition: 0.2s ease;
}

.btn-invertir-ruta:hover {
    background: #3a56c0;
}/* End custom CSS */
/* Start custom CSS *//* ============================================================
   FORMULARIO PRINCIPAL — ESTILO ESCRITORIO
============================================================ */

#buscador-viajes {
  padding: 20px;
  border-radius: 18px;
  background: #ffffff;
  display: flex;
  align-items: center;
  gap: 20px;
  box-shadow: 0 8px 25px rgba(0,0,0,0.08);
  flex-wrap: wrap;
}

.bv-form {
  display: flex;
  gap: 25px;
  flex-wrap: wrap;
  align-items: center;
}

.bv-campo {
  display: flex;
  flex-direction: column;
  min-width: 200px;
  flex: 1;
}

.bv-campo label {
  font-weight: 600;
  font-size: 15px;
  color: #444;
  margin-bottom: 6px;
}

.bv-campo select {
  width: 100%;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-size: 15px;
  background: #fff;
  transition: all 0.2s ease-in-out;
}

.bv-campo select:focus {
  border-color: #4a6cf7;
  box-shadow: 0 0 0 3px rgba(74,108,247,0.25);
}

/* ============================================================
   BOTÓN INVERTIR RUTA — ELEGANTE
============================================================ */

#bv-invertir {
  background: #4a6cf7;
  color: #fff;
  border: none;
  padding: 12px 28px;
  font-size: 16px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
  transition: all .25s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  white-space: nowrap;
}

/* icono suave */
#bv-invertir::before {
  content: "↺";
  font-size: 18px;
  display: inline-block;
  transition: transform .3s ease;
}

/* Hover */
#bv-invertir:hover {
  background: #3a53d6;
  box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}

#bv-invertir:hover::before {
  transform: rotate(180deg);
}

/* Activo */
#bv-invertir:active {
  transform: scale(0.97);
}

/* ============================================================
   RESPONSIVE FORMULARIO — MÓVIL Y TABLET
============================================================ */

@media (max-width: 900px) {
  #buscador-viajes {
    flex-direction: column;
    align-items: flex-start;
  }

  .bv-form {
    width: 100%;
    flex-direction: column;
  }

  #bv-invertir {
    width: 100%;
  }
}

@media (max-width: 600px) {
  #buscador-viajes {
    padding: 15px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.06);
  }

  #bv-invertir {
    font-size: 17px;
    padding: 14px;
    border-radius: 14px;
  }
}

/* ============================================================
   TABLA HORARIOS (ESCRITORIO)
============================================================ */

.tabla-horarios-bonita {
  width: 100%;
  border-collapse: collapse;
  margin-top: 25px;
  border-radius: 12px;
  overflow: hidden;
  font-size: 16px;
  box-shadow: 0 6px 22px rgba(0,0,0,0.10);
}

.tabla-horarios-bonita thead tr {
  background: #4a6cf7;
  color: #fff;
  font-size: 15px;
}

.tabla-horarios-bonita th,
.tabla-horarios-bonita td {
  padding: 14px 18px;
  border-bottom: 1px solid #eee;
  text-align: center;
}

.tabla-horarios-bonita tbody tr:hover {
  background: #f7f9ff;
}

.btn-reservar-tabla {
  background: #28a745;
  color: white !important;
  padding: 8px 14px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: 600;
  display: inline-block;
  transition: background .25s ease;
}

.btn-reservar-tabla:hover {
  background: #1e7e34;
}

/* ============================================================
   TABLA RESPONSIVE — MODO TARJETA EN MÓVIL
============================================================ */

@media (max-width: 768px) {

  .tabla-horarios-bonita thead {
    display: none;
  }

  .tabla-horarios-bonita tr {
    display: block;
    margin-bottom: 15px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 5px 15px rgba(0,0,0,0.07);
    padding: 12px;
  }

  .tabla-horarios-bonita td {
    display: flex;
    justify-content: space-between;
    padding: 10px 6px;
    font-size: 15px;
    border-bottom: none;
  }

  .tabla-horarios-bonita td:before {
    content: attr(data-label);
    font-weight: 600;
    color: #555;
  }

  .tabla-horarios-bonita td:last-child {
    border-bottom: none;
  }
}/* End custom CSS */