/*
Theme Name: Journey Junction Tours
Template: gofly
Version: 1.2.0
Author: Journey Junction Tours and Travel LTD
Description: Child theme for Journey Junction Tours — Uganda safaris, gorilla trekking & travel services.
*/

/* Disable theme custom colored mouse pointer */
#magic-cursor,
#magic-cursor #ball {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.tt-magic-cursor,
body.tt-magic-cursor * {
  cursor: auto !important;
}

body.tt-magic-cursor a,
body.tt-magic-cursor button,
body.tt-magic-cursor input[type="submit"],
body.tt-magic-cursor input[type="button"],
body.tt-magic-cursor select,
body.tt-magic-cursor label[for] {
  cursor: pointer !important;
}

.customer-gallery-area,
.photo-gallery-area {
  cursor: default !important;
}

.customer-gallery-area a,
.photo-gallery-area a {
  cursor: pointer !important;
}

/* Hero video — contained inside hero only; cover crop without breaking page layout */
.elementor-element-b4aec73 {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 100% !important;
  isolation: isolate;
  z-index: 1;
}

.elementor-element-b4aec73 > .elementor-background-video-container {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.elementor-element-b4aec73 .elementor-background-video-embed {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

.elementor-element-b4aec73 .home1-banner-section {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 767px) {
  .elementor-element-b4aec73 > .elementor-background-video-container {
    display: block !important;
  }
}

/* Inner pages: keep breadcrumb titles/trails below the sticky site header */
:root {
  --jjt-header-offset: 92px;
}

@media (max-width: 1199px) {
  :root {
    --jjt-header-offset: 84px;
  }
}

@media (max-width: 767px) {
  :root {
    --jjt-header-offset: 72px;
  }
}

body.admin-bar:not(.home) {
  --jjt-header-offset: 124px;
}

@media (max-width: 782px) {
  body.admin-bar:not(.home) {
    --jjt-header-offset: 118px;
  }
}

body:not(.home) .breadcrumb-section {
  scroll-margin-top: var(--jjt-header-offset);
}

body:not(.home) .breadcrumb-section:not(.two):not(.four) {
  padding-top: calc(130px + var(--jjt-header-offset));
}

body:not(.home) .breadcrumb-section.two .banner-content-wrap {
  padding-top: calc(175px + var(--jjt-header-offset));
}

@media (max-width: 1199px) {
  body:not(.home) .breadcrumb-section:not(.two):not(.four) {
    padding-top: calc(120px + var(--jjt-header-offset));
  }

  body:not(.home) .breadcrumb-section.two .banner-content-wrap {
    padding-top: calc(155px + var(--jjt-header-offset));
  }
}

@media (max-width: 767px) {
  body:not(.home) .breadcrumb-section:not(.two):not(.four) {
    padding-top: calc(100px + var(--jjt-header-offset));
  }

  body:not(.home) .breadcrumb-section.two .banner-content-wrap {
    padding-top: calc(140px + var(--jjt-header-offset));
  }

  body:not(.home) .breadcrumb-section.four {
    padding-top: calc(60px + var(--jjt-header-offset));
  }
}

body:not(.home) .breadcrumb-section.four {
  padding-top: calc(70px + var(--jjt-header-offset));
}

body:not(.home) .breadcrumb-section .banner-content {
  position: relative;
  z-index: 2;
}

/*
 * Hotel archive / listing page — push all page content below the sticky
 * header + announcement bar so nothing is covered.
 * The parent theme applies margin-top: -75px on .filter-wrapper.hotel
 * expecting a breadcrumb/hero section above it. On /hotel/ there is no
 * hero, so the search band and page title overlap the nav bar.
 */

/* 1. If the hotel search filter widget is present, give it the header offset as top padding */
body.post-type-archive-hotel .filter-wrapper.hotel,
body.tax-hotel-location .filter-wrapper.hotel,
body.tax-hotel-category .filter-wrapper.hotel,
body.tax-hotel-amenity .filter-wrapper.hotel,
body.tax-hotel-tag .filter-wrapper.hotel {
  margin-top: 0 !important;
  padding-top: calc(28px + var(--jjt-header-offset, 92px)) !important;
}

/* 2. If the hotel grid page is the first element (e.g. filter is disabled or on taxonomy archives), clear the header with margin */
body.post-type-archive-hotel .hotel-grid-page,
body.tax-hotel-location .hotel-grid-page,
body.tax-hotel-category .hotel-grid-page,
body.tax-hotel-amenity .hotel-grid-page,
body.tax-hotel-tag .hotel-grid-page {
  margin-top: calc(100px + var(--jjt-header-offset, 92px)) !important;
}

/* 3. If both filter and grid are present, keep the standard 100px gap between them (override rule #2) */
body.post-type-archive-hotel .filter-wrapper.hotel ~ .hotel-grid-page,
body.tax-hotel-location .filter-wrapper.hotel ~ .hotel-grid-page,
body.tax-hotel-category .filter-wrapper.hotel ~ .hotel-grid-page,
body.tax-hotel-amenity .filter-wrapper.hotel ~ .hotel-grid-page,
body.tax-hotel-tag .filter-wrapper.hotel ~ .hotel-grid-page {
  margin-top: 100px !important;
}

/* 4. Support hotel archive headings font and colors */
body.post-type-archive-hotel .filter-wrapper.hotel .filter-input-wrap > h6,
body.tax-hotel-location .filter-wrapper.hotel .filter-input-wrap > h6 {
  color: var(--title-color, #1a1a1a);
  font-family: var(--font-poppins, inherit);
  font-weight: 600;
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 15px;
}
