/* :::: Experience Page Styles :::: */

.filter-bar{
    background: none !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 15px !important; /* Space between label and select */
    margin: 20px 0 !important; /* Optional: add some vertical spacing */
}

.filter-bar label {
    font-size: 14px !important;
    font-weight: 600 !important;
    color: #666 !important;
    white-space: nowrap !important; /* Prevents label from wrapping */
    text-transform: uppercase !important;
}

.filter-bar select {
    padding: 15px 50px 15px 25px !important;
    min-width: 250px !important;
    width: auto !important;
    border: 2px solid #999 !important;
    border-radius: 50px !important; /* Pill shape */
    background: #f5f5f5 !important; /* Light gray background */
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #666 !important;
    cursor: pointer !important;
    appearance: none !important; /* Remove default arrow */
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    /* Custom dropdown arrow */
    background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%23666" d="M4 6l4 4 4-4z"/></svg>');
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    background-size: 20px !important;
}

.filter-bar select:hover {
    background-color: #ebebeb !important;
}

.filter-bar select:focus {
    outline: none;
    border-color: #777 !important;
}


.itinerary-card {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* End of Experience Page Styles */

/* Single Itinerary Page Styles */

/* When there's no admin bar */
body:not(.admin-bar) .itinerary-single-wrapper {
    margin: 54px auto 0 auto !important;
}

/* Fix for WordPress Admin Bar */
body.admin-bar .itinerary-single-wrapper {
    margin: 86px auto 0 auto !important; /* Height of admin bar on desktop */
}

.itinerary-day {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
    border-bottom: none !important;
    display: flex !important;
    gap: 10px !important;
}

.itinerary-day-title {
  font-size: inherit !important;
  font-weight: normal !important;
  margin-bottom: 0px !important;
  color: inherit !important;
}

.itinerary-day-content {
  line-height: 1.5 !important;
  color: inherit !important;
}

/* :::: End of Single Itinerary Page Styles :::: */

/* :::: Single Itinerary Elementor Styles :::: */

/*Hero and text*/
.elementor-88 .elementor-element.elementor-element-eeefc35.e-con {
  flex-grow: 0 !important;
  flex-shrink: 0 !important;

  --flex-grow: 0;
  --flex-shrink: 0;
}

.elementor-88 .elementor-element.elementor-element-eeefc35 {
  --display: flex;
  display: flex;
  min-height: 50vh !important;
  flex-direction: column;
  --container-widget-width: calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  justify-content: center;
  align-items: center;
  gap: 0px 0px;
  row-gap: 0px;
  column-gap: 0px;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.elementor-88 .elementor-element.elementor-element-a440d37.elementor-element {
  align-self: center;
}

.elementor-88 .elementor-element.elementor-element-a440d37 .elementor-heading-title {
  color: #FFFFFF;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: inherit, Sans-serif;
  font-weight: var( --e-global-typography-primary-font-weight );
  
}

/*Title*/
.elementor-88 .elementor-element.elementor-element-b86cfc7 {
  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;
}

.elementor-88 .elementor-element.elementor-element-6bbf08b {
  text-align: center;
  margin-top: 20px;
}

.elementor-88 .elementor-element.elementor-element-6bbf08b .elementor-heading-title {
  font-family: "Archivo", Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #72716D;
}

.elementor-88 .elementor-element.elementor-element-dda822f .elementor-heading-title {
  color: #595A55;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: inherit, Sans-serif;
  font-weight: var( --e-global-typography-primary-font-weight );
}

.elementor-88 .elementor-element.elementor-element-dda822f {
  text-align: center;
}

/*Days and destinations*/
.elementor-88 .elementor-element.elementor-element-4fbbfe2 {
  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;
}

.elementor-88 .elementor-element.elementor-element-287fd42 .elementor-heading-title {
  font-family: "Archivo", Sans-serif;
  font-weight: 600;
  text-transform: uppercase;
  color: #F18882;
}

.elementor-88 .elementor-element.elementor-element-287fd42 {
  text-align: center;
}

.elementor-88 .elementor-element.elementor-element-17d5fd6 .elementor-heading-title, 
.elementor-88 .elementor-element.elementor-element-17d5fd6 .elementor-title {
  color: #696864;
}

.itinerary-subtitle{
    margin-top: 10px !important;
}

.elementor-88 .elementor-element.elementor-element-17d5fd6 {
  text-align: center;
}

/*Gallery*/
.elementor-88 .elementor-element.elementor-element-87120e4 {
  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;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

/*Description*/
.elementor-88 .elementor-element.elementor-element-4e1b684 {
  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;
}
.elementor-88 .elementor-element.elementor-element-b243065 {
  text-align: center;
  color: #5D5C58;
}

/*Day by day description*/
.elementor-88 .elementor-element.elementor-element-2eff2f5:not(.elementor-motion-effects-element-type-background), .elementor-88 .elementor-element.elementor-element-2eff2f5 > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background-color: #9C9D98;
  padding-left: 40px !important;
  padding-right: 20px !important;
}
.elementor-88 .elementor-element.elementor-element-2eff2f5 {
  --display: flex;
  --min-height: 350px;
  --justify-content: center;
}

/* Make the inner background containers stretch too */
.elementor-element-2eff2f5,
.elementor-element-b9da3df {
    flex-grow: 1 !important;
    display: flex !important;
}

.elementor-88 .elementor-element.elementor-element-23f27f9 {
  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;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
  align-items: stretch !important;
}

/*Left side*/
.elementor-88 .elementor-element.elementor-element-6415a8c.e-con {
  flex-grow: 0;
  flex-shrink: 0;
}

@media (min-width: 768px) {
  .elementor-88 .elementor-element.elementor-element-6415a8c {
    width: 56.898%;
  }
}

.elementor-88 .elementor-element.elementor-element-6415a8c {
  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;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

/*Right side*/
.elementor-88 .elementor-element.elementor-element-b9da3df::before, .elementor-88 .elementor-element.elementor-element-b9da3df > .elementor-background-video-container::before, .elementor-88 .elementor-element.elementor-element-b9da3df > .e-con-inner > .elementor-background-video-container::before, .elementor-88 .elementor-element.elementor-element-b9da3df > .elementor-background-slideshow::before, .elementor-88 .elementor-element.elementor-element-b9da3df > .e-con-inner > .elementor-background-slideshow::before, .elementor-88 .elementor-element.elementor-element-b9da3df > .elementor-motion-effects-container > .elementor-motion-effects-layer::before {
  background-image: var(--dynamic-bg);
  background-size: cover;
  background-position: center;
  --background-overlay: '';
}

@media (min-width: 768px) {
  .elementor-88 .elementor-element.elementor-element-4a905e3 {
    width: 50%;
  }
}

.elementor-88 .elementor-element.elementor-element-4a905e3 {
  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;
  margin-top: 0px;
  margin-bottom: 0px;
  margin-left: 0px;
  margin-right: 0px;
  padding-top: 0px;
  padding-bottom: 0px;
  padding-left: 0px;
  padding-right: 0px;
}

.elementor-88 .elementor-element.elementor-element-b9da3df {
  display: flex;
  min-height: 350px;
  justify-content: center;
  --overlay-opacity: 0.68;
}

/* Left & Right side. Make children grow to the same height */
.elementor-element-6415a8c,
.elementor-element-4a905e3 {
    display: flex;
    flex-direction: column;
    height: auto !important;
    flex: 1 1 auto !important;
}

/*Custom itinerary button*/
.elementor-88 .elementor-element.elementor-element-d7c3698 {
  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;
}

.elementor-88 .elementor-element.elementor-element-fd7100d .elementor-button {
  background-color: #FFFFFF;
  fill: #74736F;
  color: #74736F;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 22px 22px 22px 22px;
}

/*Other experiences*/
.elementor-88 .elementor-element.elementor-element-51e89fb {
  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;
}

.elementor-88 .elementor-element.elementor-element-456b28c .elementor-heading-title {
  color: #5B5A56;
}

.elementor-88 .elementor-element.elementor-element-456b28c {
  text-align: center;
}

.elementor-88 .elementor-element.elementor-element-517708a {
  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;
  flex-wrap: wrap;
}

.elementor-88 .elementor-element.elementor-element-4e291ae.elementor-element {
  align-self: center;
}

.elementor-88 .elementor-element.elementor-element-4e291ae .elementor-button:hover, .elementor-88 .elementor-element.elementor-element-4e291ae .elementor-button:focus {
  background-color: #BEBEBE;
}

.elementor-88 .elementor-element.elementor-element-4e291ae .elementor-button {
  background-color: #FFFFFF;
  fill: #74736F;
  color: #74736F;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-radius: 22px 22px 22px 22px;
}

/* :::: END of Single Itinerary Elementor Styles :::: */