/* Grasp homepage / header layout fix for laptop and mid-width screens */

/* Homepage only — do not set this on trip detail or sticky sidebar breaks */
body.home,
body.elementor-page-17 {
  overflow-x: clip;
}

.elementor-location-header .elementor-nav-menu--main .elementor-nav-menu {
  flex-wrap: nowrap;
}

.elementor-17 .elementor-element-59b204b,
.elementor-17 .elementor-element-59b204b .swiper {
  overflow: hidden;
}

.tbp-gallery-lightbox-stage img {
  box-shadow: none !important;
}

/* Trip detail: keep sidebar sticky only through the layout (policies),
   then release so More Trips is full width. */
@media (min-width: 961px) {
  .tbp-detail-container {
    display: block !important;
  }

  .tbp-detail-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 340px) !important;
    align-items: start;
    overflow: visible;
  }

  .tbp-detail-sidebar {
    position: sticky !important;
    grid-column: auto !important;
    grid-row: auto !important;
    align-self: start;
    height: max-content;
  }

  .tbp-detail-more-trips {
    width: 100% !important;
    max-width: 100% !important;
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

@media (max-width: 1440px) {
  .elementor-9 .elementor-element-6602e4d {
    --padding-left: 24px !important;
    --padding-right: 24px !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .elementor-9 .elementor-element-baf03a8 {
    --padding-left: 24px !important;
    padding-left: 24px !important;
    flex-wrap: nowrap !important;
  }

  .elementor-9 .elementor-element-a711dbc,
  .elementor-9 .elementor-element-1a5f101,
  .elementor-9 .elementor-element-1a5f101 .elementor-nav-menu--main,
  .elementor-9 .elementor-element-1a5f101 .elementor-nav-menu {
    flex-wrap: nowrap !important;
  }

  .elementor-9 .elementor-element-1a5f101 .elementor-nav-menu .elementor-item {
    font-size: 12px !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    white-space: nowrap;
  }

  .elementor-9 .elementor-element-a147883 {
    flex-wrap: nowrap !important;
    gap: 8px !important;
  }

  .elementor-9 .elementor-element-25a34e5 {
    padding: 16px 18px !important;
  }

  .elementor-9 .elementor-element-3ce6459 .elementor-button {
    font-size: 14px !important;
    white-space: nowrap;
  }

  .elementor-17 .elementor-element-e4625a6 {
    --padding-left: 40px !important;
    --padding-right: 40px !important;
    padding: 60px 40px !important;
  }

  .elementor-17 .elementor-element-d5e7fb0,
  .elementor-17 .elementor-element-a9d738b {
    --padding-left: 40px !important;
    padding-left: 40px !important;
    padding-top: 80px !important;
  }

  .elementor-17 .elementor-element-5c83435,
  .elementor-17 .elementor-element-4f18f41 {
    --padding-left: 40px !important;
    --padding-right: 40px !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }

  .elementor-17 .elementor-element-dd81966,
  .elementor-17 .elementor-element-d438e2f {
    --padding-left: 40px !important;
    padding-left: 40px !important;
  }

  .elementor-17 .elementor-element-79fcc10 .elementor-heading-title,
  .elementor-17 .elementor-element-65ffb79 .elementor-heading-title,
  .elementor-17 .elementor-element-49163a1 .elementor-heading-title,
  .elementor-17 .elementor-element-254f5c4 .elementor-heading-title,
  .elementor-17 .elementor-element-318ec72 .elementor-heading-title,
  .elementor-17 .elementor-element-1f15058 .elementor-heading-title {
    font-size: 36px !important;
    line-height: 1.15 !important;
  }

  .elementor-17 .elementor-element-59b204b {
    margin-left: 0 !important;
  }

  .elementor-17 .elementor-element-4f18f41 {
    --margin-top: -180px !important;
    margin-top: -180px !important;
  }
}

@media (max-width: 1024px) {
  .elementor-9 .elementor-element-baf03a8,
  .elementor-9 .elementor-element-a711dbc,
  .elementor-9 .elementor-element-1a5f101 .elementor-nav-menu {
    flex-wrap: wrap !important;
  }

  .elementor-17 .elementor-element-4f18f41 {
    --margin-top: -70px !important;
    margin-top: -70px !important;
  }
}
