:root {
  /* COLORS */
  --white: #ffffff;
  --black: #000000;
  --black60: #00000099;
  --green: #006a4e;
  --green-light: #308276;
  --links: #0a94a8;
  --yellow: #fce84e;
  --beige: #8c7215;

  /* Categories */
  --client: #322d80;
  --pro: #000000;

  --ou-sejourner: #09507c;
  --monuments-et-musees: #e79ec2;
  --a-table: #da3a5c;
  --producteurs-et-artisans: #67cebf;
  --voyages: #308276;
  --loisirs: #dfcc3f;
  --evenementiel: #3b56dc;
  --detours-en-france: #44a1d0;
  --commerce: #38ec91;

  /* grays */
  --gray900: #071621;
  --gray700: #666e87;
  --gray500: #8a90a7;
  --gray300: #bec6d3;
  --gray100: #e9eaed;

  /* search */
  --bgcountry: #d7f4df;
  --colorcountry: #276338;
  --bgregion: #d7f4f1;
  --colorregion: #27635d;
  --bgcity: #fbf6d0;
  --colorcity: #544e21;
  --bgaddress: #d0dcfb;
  --coloraddress: #212f54;
  --bgother: #e6e6e6;
  --colorother: #404040;

  /* font */
  --mainFont: Inter, Arial, sans-serif;
  --titleFont: Montserrat, Arial, sans-serif;

  /* travelPlaner */
  --travelPlanerTitleFont: Montserrat, sans-serif;
  --travelPlanerSubtitleFont: Inter, sans-serif;
  --travelPlanerPrimaryColor: #322d80;
  --travelPlanerSecondaryColor: #030303;
  --travelPlanerSearchMapBackground: #322d80;
  --travelPlanerSearchMapActiveBackground: #322d80;
  --travelPlanerSearchMapInactiveBackground: #dedede;
  --travelPlanerOtcBlue: #322d80;
  --travelPlanerOtcLightBlue: #ecf8ff;
  --travelPlanerOrange: #db6e26;
  --travelPlanerLightOrange: #fff7f1;
  --travelPlanerMaxWidth: 1100px;

  --travelPlanerPartnerPrimary: #322d80;
  --travelPlanerButtonBackground: #030303;
  --travelPlanerButtonColor: #ffffff;
  --travelPlanerFranceRed: #ed1c24;

  /* sizes */
  --headerHeight: 78px;
}

.shop {
  margin-top: var(--headerHeight);
}

.Header {
  background-color: var(--white);
  box-shadow: 0 -10px 54px 0 #00000040;
  height: var(--headerHeight);
  position: fixed;
}

.Header .header-content {
  max-width: 1240px;
  margin: 0 auto;
}

.Header .header-content .header-logo {
  max-width: 100px;
}

.Header .header-content .container .navButton {
  border: none;
  background: transparent;
  color: var(--travelPlanerPrimaryColor);
  font-family: var(--travelPlanerSubtitleFont);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: 0;
  text-align: left;
  transition: all 0.3s ease-in-out;
}

.Header .header-content .container .navButton:hover {
  color: var(--travelPlanerSearchMapActiveBackground);
}

.Header .header-content .container .navButton.hasPicto svg path {
  fill: none;
}

.Header .header-content .container {
  padding: 0;
}
.Footer {
  background: #322d80;
}
.Footer .footer-content .footer-logo {
  max-width: 180px;
}
.burger-menu {
  display: none;
}

.travelPlaner .headerImage {
  height: 78px;
  opacity: 0;
}

.travelPlaner .headerPlaceholder {
  background: transparent;
  height: 95px;
}

.travelPlaner .head {
  padding: 0;
  margin: 0 auto;
}

.travelPlaner .head .previous {
  display: none;
}

.travelPlaner.step_1 .head .headImage {
  object-position: bottom;
}

.travelPlaner .head .progressionBar {
  background: #ffffff;
  margin: 24px;
  padding: 0;
  width: calc(100% - 48px);
}

.travelPlaner .head .progressionBar div {
  height: 8px;
  background: #efefef;
}

.travelPlaner .head .progressionBar div.full {
  background: var(--travelPlanerPrimaryColor);
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI {
  max-width: var(--travelPlanerMaxWidth);
}

.travelPlaner .travelPlanerContent .filterLayout.newUI {
  padding: 0 24px 24px 24px;
  margin: 0;
  width: 100%;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutTitle {
  font-weight: 700;
  font-size: 30px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutSubtitle {
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  text-align: center;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button.selected,
.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button:hover {
  background: #f6f6f6;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutButton button {
  background: var(--travelPlanerOtcBlue);
  border-color: var(--travelPlanerOtcBlue) !important;
  border-radius: 4px;
  padding: 15px 30px;
  text-transform: uppercase;
  font-weight: 400;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutButton button svg {
  display: none;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutButton button.back {
  color: var(--travelPlanerOtcBlue);
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutButton button:hover.back {
  background: var(--travelPlanerOtcBlue) !important;
  border-color: var(--travelPlanerOtcBlue) !important;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .layoutButton button:hover.next {
  border-color: var(--travelPlanerOtcBlue) !important;
  color: var(--travelPlanerOtcBlue);
}

.travelPlaner .travelPlanerContent .filterLayout.newUI > div:nth-child(2) {
  margin: 24px 0;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .slide {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .slide .day {
  display: none;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .slide .hours {
  padding: 6px 12px;
  background: var(--travelPlanerOtcLightBlue);
  font-size: 14px;
  font-weight: 700;
  line-height: 20px;
  letter-spacing: 0.14px;
  border-radius: 20px;
  margin: 0 0 24px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  max-width: none;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition button {
  min-width: auto;
  max-width: none;
  height: auto;
  background: none;
  aspect-ratio: 150 / 96;
  width: 150px;
  background: var(--travelPlanerOtcLightBlue);
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition button svg path {
  fill: var(--travelPlanerPrimaryColor);
  stroke: transparent;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition button span {
  position: relative;
  background: none;
  color: var(--travelPlanerPrimaryColor);
  left: 0;
  top: 0;
  font-family: var(--travelPlanerTitleFont);
  font-size: 16px;
  line-height: 32px;
  font-weight: 400;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition button.selected {
  border: 0;
  background: var(--travelPlanerPrimaryColor);
}

.travelPlaner
  .travelPlanerContent
  .filterLayout.newUI
  .buttonListComposition
  button.selected
  svg
  path {
  fill: #ffffff;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition button.selected span {
  color: #ffffff;
}

.travelPlaner .travelPlanerContent .hoursSliders .rc-slider-rail,
.travelPlaner .travelPlanerContent .interests .rc-slider-rail {
  background: #e5e5e5;
}

.travelPlaner .travelPlanerContent .hoursSliders .sur-handle,
.travelPlaner .travelPlanerContent .interests .sur-handle {
  width: 37px;
  height: 37px;
  margin-top: -17px;
}

.travelPlanerResultsNewUI .head .progressionBar {
  background: #ffffff;
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelDayWithMap
  .travelPoint
  .indexLine
  span {
  font-family: Addictive-Regular, sans-serif;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints {
  max-width: none;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints .point {
  flex-direction: column-reverse;
  gap: 3px;
  max-width: none;
  width: auto;
  margin: 0 auto auto auto;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints .point .image-wrapper img {
  aspect-ratio: 150 / 94;
  height: 94px;
  width: auto;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints .point .label {
  white-space: pre-wrap;
  word-break: break-word;
  max-width: 150px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints .point label {
  font-size: 16px;
  font-weight: 600;
  line-height: 20px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button {
  background: var(--travelPlanerOtcLightBlue);
  flex-direction: column;
  gap: 0;
  width: 150px;
  height: auto;
  aspect-ratio: 150 / 96;
  padding: 12px 24px;
  transition: all 0.2s ease-in-out;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button svg {
  height: 40px;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button span {
  color: var(--travelPlanerPrimaryColor);
  font-family: var(--travelPlanerTitleFont);
  font-size: 16px;
  font-weight: 400;
  transition: all 0.2s ease-in-out;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button.selected {
  background: var(--travelPlanerPrimaryColor);
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button.selected span {
  color: #ffffff;
}

.travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListBudget button.selected svg path {
  fill: #ffffff;
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader {
  gap: 24px;
  margin-top: 24px;
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader .imageSlider {
  border-radius: 8px;
  overflow: hidden;
  height: 400px;
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader .loader span {
  display: none;
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader .loader .progressBar {
  border: 3px solid #efefef;
  background: #fbfbfb;
  height: 18px;
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader .loader .progressBar .progress {
  background: var(--travelPlanerOtcBlue);
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader {
  max-width: calc(600px + 48px);
  margin: 24px auto;
  width: 100%;
  justify-content: flex-start;
}

.travelPlaner .travelPlanerContent.newTravelPlanerUI .Loader .imageSlider {
  max-width: none;
  height: 400px;
}

.travelPlanerResultsNewUI .headerImage {
  height: 78px;
}

.travelPlanerResultsNewUI .header .header-container .favorites {
  background: var(--travelPlanerOtcLightBlue);
  color: var(--travelPlanerPrimaryColor);
}

.travelPlanerResultsNewUI .header .header-container .favorites:focus {
  border: 1px solid var(--travelPlanerPrimaryColor);
}

.travelPlanerResultsNewUI .header .header-container .favorites svg path {
  fill: var(--travelPlanerOtcLightBlue);
  stroke: var(--travelPlanerPrimaryColor);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .content-wrapper .backButton {
  padding: 0;
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .content-wrapper .backButton svg {
  transform: rotate(0);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .content-wrapper .backButton svg path {
  fill: none;
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .content-wrapper .content .title {
  color: var(--travelPlanerOrange);
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .content-wrapper
  .Restaurants
  .restaurants-list
  .Restaurant {
  background: var(--travelPlanerOtcLightBlue);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .content-wrapper .restaurants-header path {
  fill: var(--travelPlanerOrange);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .travelCustomMap .customLink {
  background: var(--travelPlanerOtcLightBlue);
  width: calc(100% - 24px);
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelCustomMap
  .directionProfileSelect
  select {
  background: var(--travelPlanerOtcLightBlue);
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelCustomMap
  .travelPlanerMap
  .leaflet-container
  .leaflet-control-attribution {
  display: block;
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .travelDays .travelPoint .indexLine span {
  font-size: 50px;
  font-weight: 700;
  line-height: 50px;
  letter-spacing: 0.5px;
  color: var(--travelPlanerOrange);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .travelDays .travelPoint .indexLine .line {
  background-image: repeating-linear-gradient(
    0deg,
    var(--travelPlanerOrange),
    var(--travelPlanerOrange) 5px,
    transparent 5px,
    transparent 10px,
    var(--travelPlanerOrange) 10px
  );
  margin-left: 12px;
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelDays
  .travelPoint
  .content
  .imageWrapper
  .time {
  font-family: Poppins, sans-serif;
  background: var(--travelPlanerOtcBlue);
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelDays
  .travelPoint
  .content
  .contentBody
  .link {
  color: var(--travelPlanerOtcBlue);
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelDays
  .travelPoint
  .content
  .contentBody
  .navigation {
  color: var(--travelPlanerOrange);
}

.travelPlanerResultsNewUI
  .travelPlanerResultsContent
  .travelDays
  .travelPoint
  .content
  .activitiesSwitch {
  background: var(--travelPlanerOtcLightBlue);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .travelDays .travelDayLegInfo {
  background: var(--travelPlanerLightOrange);
  color: var(--travelPlanerOrange);
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .travelDays .travelDayLegInfo svg path {
  fill: var(--travelPlanerOrange);
}

.travelPlanerResultsNewUI.fullScreen .headerImage {
  display: none;
}

.travelPlanerResultsNewUI .leftHeader {
  padding: 24px;
}

.travelPlanerResultsNewUI.fullScreen .travelCustomMap {
  margin-top: 0 !important;
}

.travelPlanerResultsNewUI.fullScreen .travelPlanerMap .travelPlanerMap__mapButtons {
  bottom: 70px;
}

.travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays {
  padding: 24px 0;
  gap: 24px;
}

.travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays .dayHeader {
  margin-top: 20px;
}

.travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays .addStep {
  margin: -40px auto 0 24px;
}

.travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays .Restaurants {
  max-width: 100%;
}

@media screen and (min-width: 480px) {
  .travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

@media screen and (min-width: 760px) {
  :root {
    --headerHeight: 100px;
  }

  .shop .sideBlock {
    margin-top: var(--headerHeight);
  }
}

@media screen and (min-width: 768px) {
  .travelPlaner .head {
    max-width: calc(var(--travelPlanerMaxWidth) + 48px);
    padding: 24px 24px 0 24px;
  }

  .travelPlaner .head .progressionBar {
    padding: 24px 0;
    margin: 0;
    width: 100%;
  }

  .travelPlaner .headerImage {
    height: 125px;
    width: calc(100% - 48px);
  }

  .travelPlaner .travelPlanerContent .filterLayout.newUI {
    margin-top: 24px;
  }

  .travelPlaner .travelPlanerContent .filterLayout.newUI .buttonListComposition {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
  }

  .travelPlaner .travelPlanerContent .filterLayout.newUI .interestPoints {
    gap: 24px;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  .travelPlanerResultsNewUI
    .travelPlanerResultsContent
    .travelCustomMap
    .travelMapContainer
    .customLink {
    width: calc(100% - 40px);
    margin: 8px 20px 20px 20px;
  }

  .travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .days .backButton {
    margin-right: 20px;
  }

  .travelPlanerResultsNewUI .travelPlanerResultsContent .Restaurants .restaurants-list {
    padding: 0 24px;
  }

  .travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays .dayHeader {
    padding: 0 24px;
  }

  .travelPlanerResultsNewUI .travelPlanerResultsContent .travelDays .travelPoints {
    gap: 24px;
  }

  .travelPlanerResultsNewUI .travelPlanerResultsContent .travelDays .fullScreenTravelPoint {
    padding: 0 24px;
  }

  .travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays .travelDayLegInfo {
    margin: 0 24px 0 10px;
    max-width: calc(100% - 34px);
  }

  .travelPlanerResultsNewUI.fullScreen .travelPlanerResultsContent .travelDays .addStep {
    margin: -10px auto 0 26px;
  }

  .travelPlanerResultsNewUI
    .travelPlanerResultsContent
    .EditJourney
    .editJourneyPopup
    .editJourneyPopupContainer
    .editJourneyPopupFooter
    .addStep:hover
    .iconWrapper {
    svg {
      path {
        stroke: currentColor;
      }
    }
  }
}

@media screen and (max-width: 768px) {
  .travelPlanerResultsNewUI .travelPlanerResultsContent .daysFooter .showMap {
    padding: 11.75px 24px;
    flex-wrap: wrap;
  }
}

.Header .header-content .container .navButton.hasPicto {
  display: none;
}

.travelPlanerResultsNewUI .travelPlanerResultsContent .daysFooter {
  z-index: 0 !important;
}
