/***==== Design system tokens =====**/
:root {
  /* Couleur identitaire — ne pas remplacer */
  --color-primary: #a4c055;
  --color-primary-dark: #7f9d3e;
  --color-primary-soft: #e8efd4;

  /* Palette d'accompagnement */
  --color-accent: #c97b4a;
  --color-navy: #1f3a3d;

  --color-bg: #fbf8f2;
  --color-surface: #ffffff;
  --color-sand: #ecdfc3;

  --color-text: #2a2e2b;
  --color-text-muted: #6b7268;

  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-lg: 28px;

  --shadow-sm: 0 2px 8px rgba(31, 58, 61, 0.06);
  --shadow-md: 0 12px 30px rgba(31, 58, 61, 0.14);

  --container-width: 1200px;

  --font-display: "Smithen", serif;
  --font-heading: "Nunito", sans-serif;
  --font-body: "Inter", sans-serif;
}

body {
  font-family: var(--font-body);
  color: var(--color-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-heading);
  font-weight: 800;
  color: var(--color-navy);
}

a {
  color: var(--color-navy);
}

a:hover,
a:focus,
a:active {
  color: var(--color-primary-dark);
}

/***==== Header =====**/
header .header-right {
  color: #fff;
  position: absolute;
  z-index: 12;
  max-width: 17%;
  width: 100%;
  margin: 0 auto;
  right: 0;
}
.header-right .phone i {
  font-size: 29px;
}
.header-right .phone span {
  vertical-align: super;
  font-size: 20px;
}
.header-right .links a {
  color: #fff;
  text-transform: uppercase;
  font-weight: bolder;
  font-size: 14px;
}
.header-right .links a:hover {
  color: #a4c055;
}
.header-right .links a:before {
  color: #fff;
  content: "/";
  margin: 0 2px;
  display: inline-block;
}
.header-right .links a:first-child:before {
  display: none;
}

.hidden-block {
  display: none !important;
}
.m-0 {
  margin: 0 !important;
}
.appli {
  position: fixed;
  bottom: 3%;
  background: #a4c055;
  left: 7%;
  font-weight: 700;
  opacity: 0.9;
  font-size: 12px;
  padding-top: 2px;
  padding-bottom: 2px;
  padding-right: 5px;
  border-radius: 3px;
}
.red {
  color: red;
}

.rmv_vac_modal {
  padding: 5px;
  background: #a4c055;
  color: white;
  position: absolute;
  top: 56px;
  right: 75px;
}
i.fa {
  font-size: 20px;
  padding: 5px;
}
.check_in_out_wrap {
  margin-top: -10px;
}
#map_canvas {
  height: 250px;
}
.price_btn p {
  font-size: 20px;
  float: left;
  margin-right: 25px;
}
.price_btn .btn_reservation {
  float: left;
  width: 135px;
  padding: 10px !important;
  font-size: 13px !important;
}
.btn_reservation {
  width: 275px;
  font-size: 20px !important;
  float: right;
  margin-bottom: 30px;
}
.room_grid_item .btn_reservation {
  width: auto;
  font-size: inherit !important;
  margin-bottom: 0;
  float: none;
}
.tour_packages_details_top {
  float: left;
  width: 100%;
}

.tour_packages_details_top.no-float {
  float: none;
}
.top_icons_part {
  margin-bottom: 20px;
}

.info_sejour {
  margin-bottom: 20px;
  margin-top: 25px;
  padding: 0px;
}
.widget.widget_accordion
  .panel-default
  > .panel-heading.destination_sorting_section
  .dates_dispo
  .price_infos.active
  h4
  a {
  background-color: #a4c055;
  color: #fff;
}
.information_selected label:after {
  border-color: #a4c055 !important;
}
.widget_categories ul li label {
  cursor: pointer;
  width: 100%;
  height: 20px;
  font-size: 15px;
  position: absolute;
  min-height: 52px;
  border: 1px solid #eeeeee;
  line-height: 50px;
  padding-left: 10px;
  color: #0c6f93;
  font-weight: 400;
  border-radius: 8px;
}
.information_selected label {
  background-color: white !important;
  color: #a4c055 !important;
  border-color: #a4c055 !important;
}
.widget.widget_accordion .panel-body {
  padding: 0;
  border-top: none !important;
}
.widget.widget_accordion .panel-group .panel {
  border: none;
  box-shadow: none;
}
.widget_categories ul li label:after {
  opacity: 1;
  content: "";
  position: absolute;
  width: 9px;
  height: 5px;
  background: transparent;
  top: 21px;
  right: 20px;
  border: 2px solid #fcfff4;
  border-top: none;
  border-right: none;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.widget.widget_accordion .panel-default > .panel-heading h4 a {
  padding: 15px;
  border-radius: 8px;
  display: block;
  text-decoration: none;
  margin: 0;
  text-transform: uppercase;
  margin-bottom: 9px;
  font-weight: bold;
  background-color: transparent;
  color: #2c3e50;
  border: 1px solid #eeeeee;
  font-size: 14px;
}

.widget.widget_accordion .panel-default > .panel-heading {
  background-image: none;
  padding: 0;
  background-color: transparent;
}
.widget_categories ul li {
  width: 100%;
  position: relative;
  min-height: 52px;
  margin-bottom: 10px;
}

.sort_place_icons_pdf {
  float: right;
  margin-top: 20px;
  font-size: 9px;
  font-weight: 800;
  list-style-type: none;
  text-align: center;
}

.main_content_form.col-md-3 {
  font-size: 20px;
}
.side_infos {
  text-transform: uppercase;
  color: #0e85af;
  padding-right: 15px;
}
.booking_form_bg .main_content_form p {
  font-weight: 600;
  text-transform: uppercase;
  text-align: left;
  font-size: 18px;
  margin: 0;
  margin-bottom: 5px;
  color: #1dc1f8;
}

.toolbar {
  top: 60%;
  width: 53px;
  right: 20px;
  z-index: 20;
  padding: 10px 0;
  position: fixed;
  transform: translateY(-50%);
  transition: 0.2s ease all;
}
.viewer .toolbar {
  right: 50px;
}
.toolbarList {
  padding: 5px 0 5px;
  background-color: #a4c055;
  border-top-left-radius: 30px;
  border-top-right-radius: 30px;
}
.toolbarItem {
  list-style-type: none;
  padding: 13px 0;
}
.toolbarList--Social {
  padding: 5px 0 5px;
  background-color: #1dc1f8;
  border-radius: 0 0 30px 30px;
}

.toolbarItem a:before {
  color: #fff;
  font-size: 23px;
  transition: 0.2s ease all;
}
.toolbarItem a {
  text-align: center;
  display: block;
  line-height: normal;
  color: #fff;
  transition: 0.2s ease all;
}
@media print {
  h1 {
    font-size: 90px;
  }

  .gridSizer,
  .gridItem {
    margin: 0 !important;
    float: none !important;
    height: auto !important;
  }

  .gridList--onChild {
    margin-top: 0px !important;
  }

  .gridList {
    margin: 0px !important;
    min-height: 400px !important;
  }

  .entityList {
    max-width: 800px;
    margin: 50px auto !important;
  }

  .entityItem {
    height: auto !important;
    width: 100% !important;
    position: relative !important;
    background: transparent !important;
    left: 0 !important;
    box-shadow: 0 0 0 0 rgba(188, 188, 188, 0) !important;
  }

  .entityItem:after {
    display: none !important;
  }

  .entityItem--height {
    padding-bottom: 0 !important;
  }

  .entityItemThumbnail {
    display: none !important;
  }

  .entityItemContent {
    left: 0px !important;
    bottom: 0px !important;
    position: relative !important;
  }

  .entityItemContentInfos {
    display: none !important;
  }

  .entityItem--height .entityItemContent {
    width: 100% !important;
  }

  .wpetSectionContent {
    width: calc(100% - 0px - 30px) !important;
  }

  .pageContactExcerpt {
    width: 100% !important;
    float: none !important;
  }
}

.entityList {
  padding: 0 10px;
}

.entityList + .article {
  margin: 105px auto 0;
}

.entityItem {
  position: relative;
  overflow: hidden;
  height: 0;
  background: #34c5f9;
  cursor: pointer;
  box-shadow: 5px 6px 36px 6px rgba(188, 188, 188, 0.4);
  border-radius: 12px;
}

.rev_slider_wrapper {
  background-color: var(--color-sand) !important;
}

@media screen and (max-width: 1024px) {
  .entityItem {
    width: calc(100% / 2 - 10px);
    margin: 5px;
  }
}

@media screen and (max-width: 739px) {
  .entityItem {
    width: calc(100% - 10px);
    margin: 5px;
  }
}

.entityItem:after {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  position: absolute;
}

.entityItem--full {
  width: calc(100% - 20px);
  padding-bottom: 40%;
}

@media screen and (max-width: 739px) {
  .entityItem--full {
    width: calc(100% - 10px);
  }
}

.entityItem--full .entityItemContentTitle {
  font-size: 54px;
}

@media screen and (max-width: tablette) {
  .entityItem--full .entityItemContentTitle {
    font-size: 44px;
  }
}

@media screen and (max-width: 739px) {
  .entityItem--full .entityItemContentTitle {
    font-size: 16px;
  }
}

.entityItem--half {
  width: calc(100% / 2 - 20px);
  padding-bottom: 34%;
}

.entityItem--half .entityItemContentTitle {
  font-size: 44px;
}

@media screen and (max-width: "tablette") {
  .entityItem--half .entityItemContentTitle {
    font-size: 34px;
  }
}

@media screen and (max-width: 739px) {
  .entityItem--half .entityItemContentTitle {
    font-size: 16px;
  }
}

.entityItem--third {
  width: calc(100% / 3 - 20px);
  padding-bottom: 27%;
}

@media screen and (max-width: 739px) {
  .entityItem--third {
    width: calc(100% / 3 - 10px);
  }
}

@media screen and (max-width: tablette) {
  .entityItem--third .entityItemContentTitle {
    font-size: 24px;
  }
}

@media screen and (max-width: 739px) {
  .entityItem--third .entityItemContentTitle {
    font-size: 16px;
  }
}

.entityItem--third .entityItemContent {
  width: 85%;
}

.entityItem--height {
  padding-bottom: 25%;
}

@media screen and (max-width: 739px) {
  .entityItem--height {
    padding-bottom: 48%;
  }
}

.entityItem--height .entityItemContent {
  width: 86%;
}

@media screen and (max-width: 1024px) {
  .entityItem--height .entityItemContent {
    width: calc(100% - 30px);
    padding-right: 30px;
  }
}

.entityItemThumbnail {
  background-color: #ffffff;
  background-size: cover;
  background-position: center;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 1;
  transform: scale(1.05);
  transition: 0.5s ease all;
}

@media screen and (max-width: 739px) {
  .entityItemThumbnail {
    opacity: 0.7;
  }
}

.entityItemContent {
  position: absolute;
  bottom: 25px;
  left: 20px;
  z-index: 2;
  width: 50%;
  margin: 0 !important;
  transition: 0.5s ease all;
}

@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .entityItemContent {
    width: 75%;
  }
}

@media screen and (max-width: tablette) {
  .entityItemContent {
    width: calc(100% - 40px);
  }
}

@media screen and (max-width: 739px) {
  .entityItemContent {
    width: calc(100% - 40px);
  }
}

.entityItemContentTitle {
  margin: 0;
  color: #a4c055;
  font-size: 22px;
  font-weight: 100;
  line-height: 32px;
  position: relative;
  letter-spacing: 0.75px;
  text-transform: uppercase;
  transition: 0.2s ease all;
}

@media screen and (max-width: 1024px) {
  .entityItemContentTitle {
    font-size: 20px;
    line-height: 29px;
  }
}

@media screen and (max-width: 739px) {
  .entityItemContentTitle {
    font-size: 16px;
    line-height: 20px;
  }
}

.entityItemContentTitle strong {
  color: #a4c055;
  display: block;
  font-weight: 700;
}

.entityItemContentTitle a:after {
  display: none;
}

.entityItemContentTitle:before {
  content: "";
  display: block;
  width: 50px;
  height: 6px;
  background-color: #a4c055;
  position: absolute;
  top: -30px;
  transition: 0.2s ease all;
}

@media screen and (max-width: 1024px) {
  .entityItemContentTitle:before {
    top: -20px;
  }
}

.entityItemContentTitle a {
  display: block;
  color: #ffffff;
  font-weight: 600;
}

.entityItemContentInfos {
  height: 0;
  color: #fff;
  text-align: left;
  overflow: hidden;
  max-height: 120px;
  transition: 0.2s ease all;
}

@media screen and (max-width: 1024px) {
  .entityItemContentInfos {
    max-height: 60px;
  }
}

@media screen and (max-width: 739px) {
  .entityItemContentInfos {
    display: none;
  }
}

.entityItem:hover .entityItemThumbnail,
.entityItem:active .entityItemThumbnail {
  opacity: 0.15;
  transform: scale(1);
}

.entityItem:hover .entityItemContent,
.entityItem:active .entityItemContent {
  transform: translateY(50%);
  bottom: 50%;
}

.entityItem:hover .entityItemContentTitle,
.entityItem:active {
  color: #fff;
}
.entityItem:hover .entityItemContentTitle strong,
.entityItem:active {
  color: #fff;
}

.entityItem:hover .entityItemContentTitle:before,
.entityItem:active .entityItemContentTitle:before {
  width: 100px;
}

.entityItem:hover .entityItemContentInfos,
.entityItem:active .entityItemContentInfos {
  height: auto;
}

.entityItem:hover:after,
.entityItem:active:after {
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(26, 0, 13, 0) 12.8%,
    rgba(50, 0, 25, 0) 24.7%,
    rgba(74, 0, 37, 0) 35.7%,
    rgba(96, 0, 48, 0) 45.9%,
    rgba(117, 0, 58, 0) 55.3%,
    rgba(136, 0, 68, 0) 63.7%,
    rgba(154, 0, 77, 0) 71.3%,
    rgba(170, 0, 85, 0) 78%,
    rgba(185, 0, 92, 0) 83.8%,
    rgba(197, 0, 99, 0) 88.7%,
    rgba(208, 0, 104, 0) 92.8%,
    rgba(217, 0, 109, 0) 95.9%,
    rgba(224, 0, 112, 0) 98.2%,
    rgba(228, 0, 114, 0) 99.5%,
    rgba(230, 0, 115, 0) 100%
  );
}

.postList {
  margin-bottom: 20px;
}

.home .postItemThumbnail {
  max-height: 230px;
  height: 230px;
}

@media screen and (max-width: 739px) {
  .home .postItemThumbnail {
    height: auto;
  }
}

@media screen and (max-width: 739px) {
  .blog .postItem {
    width: 100% !important;
    margin: 10px 0 !important;
  }
}

.postItem {
  width: calc(100% / 3 - 30px);
  border-radius: 12px;
  box-shadow: 5px 6px 36px 6px rgba(188, 188, 188, 0.4);
  position: relative;
}

.postItemThumbnail {
  width: 100%;
  overflow: hidden;
  background: #293881;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  position: relative;
}

.postItemThumbnailMore {
  display: block;
  position: absolute;
  top: 50%;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
  opacity: 0;
  z-index: 6;
  color: #fff;
  letter-spacing: 1px;
  transform: translateY(-50%);
  transition: 0.5s ease all;
}

.postItemThumbnail img {
  width: 100%;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  max-width: none;
  opacity: 1;
  transform: scale(1.05);
  transition: 0.5s ease all;
}

.postItemThumbnailCount {
  top: 10px;
  left: 20px;
  position: absolute;
}

.postItemThumbnailCount i {
  color: #a4c055;
  font-size: 30px;
  line-height: 49px;
}

.postItemThumbnailCountView {
  top: 48%;
  left: 50%;
  color: #293881;
  font-size: 11px;
  position: absolute;
  font-weight: 900 !important;
  transform: translate(-50%, -50%);
}

.postItemContent {
  padding: 30px;
  background: #fff;
  position: relative;
  border-bottom-left-radius: 12px;
  border-bottom-right-radius: 12px;
}

@media screen and (max-width: 1024px) {
  .postItemContent {
    padding: 30px 20px;
  }
}

@media screen and (max-width: 739px) {
  .postItemContent {
    padding: 20px 20px 40px;
  }
}

.postItemContentTag {
  top: -14px;
  color: #a4c055;
  font-size: 12px;
  font-weight: 900;
  line-height: 32px;
  position: absolute;
  text-transform: uppercase;
}

.postItemContentTag span {
  padding: 0px 13px;
  line-height: 27px;
  display: inline-block;
  border-radius: 12px;
  background-color: #ffffff;
  margin: 5px;
}

.postItemContentTag span:first-child {
  margin: 5px 5px 5px 0;
}

.postItemContentTag span:last-child {
  margin-right: 0px;
}

.postItemContentTitle {
  font-size: 19px;
  font-weight: 700;
  line-height: 30px;
  margin: 0 0 10px 0;
  font-family: "Poppins", sans-serif;
  text-transform: uppercase;
}

@media screen and (max-width: 1024px) {
  .postItemContentTitle {
    font-size: 17px;
    line-height: 24px;
  }
}

@media screen and (max-width: 739px) {
  .postItemContentTitle {
    font-size: 16px;
    line-height: 24px;
  }
}

.postItemContentMeta {
  margin-bottom: 10px;
}

.postItemContentMeta span {
  display: block;
  width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.postItemContentMeta span a {
  z-index: 999;
  position: relative;
}

.postItemContentMeta span a:hover {
  color: #a4c055 !important;
}

.postItemContentMeta span i {
  margin-right: 7px;
}

.postItemContentExcerpt {
  max-height: 110px;
  overflow: hidden;
}

@media screen and (max-width: 1024px) {
  .postItemContentExcerpt {
    max-height: 120px;
  }
}

@media screen and (max-width: 739px) {
  .postItemContentExcerpt {
    font-size: 16px;
    max-height: 70px;
    line-height: 24px;
  }
}

.postItem:hover a {
  color: #a4c055;
}

.postItem:hover .postItemContentMeta a {
  color: #293881;
}

.postItem:hover .postItemThumbnailMore {
  opacity: 1;
}

.postItem:hover .postItemThumbnail img {
  opacity: 0.15;
  transform: scale(1);
}

.gridSizer,
.gridItem {
  width: calc(60% / 3 - 30px);
  margin: 14px;
  float: left;
}
.gridItem.grid2 {
  width: calc(75% / 3 - 30px);
}

.gridSizer--large,
.gridSizer.stamp,
.gridItem--large,
.gridItem.stamp {
  width: calc(0.66667 * 100% - (30px * ((3 - 1) / 3)));
  float: left;
  margin-left: calc(30px / 2);
  margin-right: calc(30px / 2);
  margin-bottom: 30px;
  margin-bottom: 15px !important;
}

.gridSizer--large:nth-of-type(3n),
.gridSizer.stamp:nth-of-type(3n),
.gridItem--large:nth-of-type(3n),
.gridItem.stamp:nth-of-type(3n) {
  margin-right: 0;
}

.gridSizer--large:first-of-type,
.gridSizer.stamp:first-of-type,
.gridItem--large:first-of-type,
.gridItem.stamp:first-of-type {
  margin-left: 0;
}

.gridSizer--large:nth-of-type(3n + 1),
.gridSizer.stamp:nth-of-type(3n + 1),
.gridItem--large:nth-of-type(3n + 1),
.gridItem.stamp:nth-of-type(3n + 1) {
  margin-left: 0;
}

@media screen and (max-width: 1024px) {
  .gridSizer--large,
  .gridSizer.stamp,
  .gridItem--large,
  .gridItem.stamp {
    width: calc(100% / 2 - 20px);
    margin: 10px !important;
  }
}

@media screen and (max-width: 1024px) {
  .gridSizer,
  .gridItem {
    width: calc(100% / 2 - 20px);
    margin: 10px;
  }
}

@media screen and (max-width: 739px) {
  .gridSizer,
  .gridItem {
    width: calc(42% - 0px);
    margin: 10px 0;
    margin-left: 20px;
  }
}

.gridSizer img,
.gridItem img {
  width: 100%;
  max-width: none;
}

.gridSizer {
  margin: 0 14px;
}

@media screen and (max-width: 1024px) {
  .gridSizer {
    margin: 0 10px;
  }
}

/* RECRUTEMENT PAGE AND SUBPAGE*/
.item-poste {
  font-size: 16px;
  line-height: 35px;
  margin-left: 20px;
}

/* SEJOUR PAGE */
.ratings {
  margin-top: 10px;
}
.ratings p {
  display: inline-block;
  margin: 0 !important;
}

/* CONTACT PAGE */
.img-teams {
  margin-top: 30px;
}

/* RESERVATION PAGE */
.required_field label::after {
  content: "*";
  margin-left: 5px;
  color: red;
  font-size: 1.5em;
}
.coord_resa,
.coord_facture {
  margin-top: 50px;
}
.coord_resa h4,
.coord_facture h4 {
  margin-bottom: 20px;
}
.coord_resa > div,
.coord_facture > div {
  margin-bottom: 20px;
}
.coord_resa input,
.coord_facture input {
  width: 100%;
  line-height: 3em;
  background: #f2f3f4;
  /*height:auto;*/
  border: 0;
}
.coord_resa input:hover,
.coord_resa input:focus,
.coord_facture:hover,
.coord_facture:focus {
  border: 0;
}
.coord_facture h4 {
  width: auto;
}
.coord_facture input[type="checkbox"] {
  width: auto;
}
.row_vac {
  margin-top: 50px;
}
.box_vac {
  margin-top: 20px;
  border: 1px solid;
  padding: 20px;
  width: auto;
  margin-right: 10px;
  position: relative;
}
.box_vac .block_option div {
  float: left;
  margin-right: 15px;
  margin-top: 10px;
}
.vacGenre .filter-option {
  width: unset !important;
}
.vacCouple .filter-option {
  width: unset !important;
}
.bootstrap-select.btn-group.bs-container .dropdown-menu {
  z-index: 9999;
}
.box_vac:last-child {
  margin-right: 0;
}
.box_vac .form-select .btn-select,
.box_vac .form-select .btn-default {
  display: inline-flex;
}
.box_vac h4 {
  margin-bottom: 20px;
}
.box_vac > div {
  margin-bottom: 20px;
}
.box_vac input,
.box_vac select {
  width: 100%;
  line-height: 3em;
  border: 0;
  background: #f2f3f4;
  text-align: left;
}
.box_vac input:hover,
.box_vac select:hover,
.box_vac input:focus,
.box_vac select:focus {
  border: 0;
}
.box_vac input[type="checkbox"] {
  width: auto;
  margin-right: 10px;
  vertical-align: bottom;
}
.add_new_vac {
  position: absolute;
  left: 15px;
  top: 25px;
}
.add_new_vac span {
  text-align: center;
  font-weight: 600;
  font-size: 15px;
}
.add_new_vac span:hover {
  cursor: pointer;
  color: #21c1f8;
}
.add_new_vac span i {
  margin-right: 10px;
  font-size: 15px;
}

.rmv_vac {
  text-align: center;
  padding: 7px 10px;
  background: #a4c055;
  color: white;
  position: absolute;
  top: 0;
  right: 0;
}
.rmv_vac:hover {
  cursor: pointer;
}
.rmv_vac i {
  margin-right: 10px;
}

.row_sub {
  margin-top: 25px;
  margin-bottom: 25px;
}
.row_sub input {
  float: right;
  font-size: 20px;
  background: #80c3d2;
  padding-right: 40px;
  padding-left: 40px;
}
.resa_sejour h4 {
  margin-bottom: 20px;
}
.bs-searchbox {
  padding: 10px 20px;
}
.bs-searchbox input {
  border: 0;
  box-shadow: none;
}
.box_vac .btn-group.bootstrap-select.form-select {
  width: auto;
}
.box_vac input {
  padding: 0 8px;
}
/*.bootstrap-select.selectchild{*/
/*    width: 100% !important;*/
/*}*/
.reservation_sejour .bootstrap-select ul.dropdown-menu li.divider {
  display: none;
}
.reservation_sejour .bootstrap-select ul.dropdown-menu li.dropdown-header {
  border: 0;
  margin-bottom: 5px;
}
.reservation_sejour
  .bootstrap-select
  ul.dropdown-menu
  li:not(.dropdown-header) {
  margin: 0;
}
.reservation_sejour
  .bootstrap-select
  ul.dropdown-menu
  li[data-optgroup="1"]:last-child,
.bootstrap-select ul.dropdown-menu li[data-optgroup="2"]:last-child,
.bootstrap-select ul.dropdown-menu li[data-optgroup="3"]:last-child,
.bootstrap-select ul.dropdown-menu li[data-optgroup="4"]:last-child,
.bootstrap-select ul.dropdown-menu li[data-optgroup="5"]:last-child {
  margin-bottom: 10px;
}
.reservation_sejour
  .bootstrap-select
  ul.dropdown-menu
  li:not(.dropdown-header)
  a {
  padding: 10px 20px;
  background: white;
}
.reservation_sejour
  .bootstrap-select
  ul.dropdown-menu
  li:not(.dropdown-header)
  a:hover {
  background: #f2f3f4;
  color: black;
}
.reservation_sejour
  .bootstrap-select
  ul.dropdown-menu
  li:not(.dropdown-header).active
  a {
  background: white;
  color: black;
}
.reservation_sejour
  .bootstrap-select
  ul.dropdown-menu
  li:not(.dropdown-header).selected
  a {
  background: #5e6a7a;
  color: white;
}
.reservation_sejour .bootstrap-select button.dropdown-toggle {
  background-color: #f2f3f4 !important;
  padding: 0;
  border: 0;
  text-indent: 20px;
  width: 100%;
}

.reservation_sejour
  .bootstrap-select
  button.dropdown-toggle
  span.filter-option.pull-left {
  font-size: 14px;
  line-height: 3em;
  color: #a6a6a6;
  text-transform: none;
  text-shadow: none;
}
.reservation_sejour .bootstrap-select button.dropdown-toggle span.bs-caret {
  display: none;
}

/* Panier PAGE */
.cart-table-header {
  width: 100%;
  font-size: 15px;
  color: #575757;
  margin: 0;
  font-weight: 600;
  background: #f2f2f2;
}
.cart-table-header th {
  padding: 10px;
}
.cart-table-header th .red {
  color: red;
}
.cart-table-header th.cart-wdt1 {
  width: 30%;
  float: none;
  font-size: 20px;
  text-align: left !important;
}
.cart-table-header th.cart-wdt2 {
  float: none;
  font-size: 20px;
  text-align: center;
}

.cart-table-mid td.first {
  padding: 20px;
}
.cart-table-mid td .form-select {
  width: 130px !important;
}
.cart-table-mid .bootstrap-select.btn-group .dropdown-toggle .filter-option {
  display: contents;
}

.cart-table .cart-table-mid td.width_cart,
.cart-table .cart-table-mid td.width_cart2 {
  vertical-align: middle;
}

@media (max-width: 1200px) and (min-width: 992px) {
  .dock ul li {
    height: 150px;
    width: 170px;
  }

  .dock ul li:hover {
    width: 255px;
    height: 225px;
    margin-top: -150px;
  }
}

@media (max-width: 991px) and (min-width: 768px) {
  .sorting_panel {
    width: 100% !important;
  }
  .dock ul li {
    height: 125px;
    width: 145px;
  }
  .dock ul li:hover {
    width: 215px;
    height: 185px;
    margin-top: -150px;
  }
}
@media (max-width: 768px) {
  .dock ul {
    display: none !important;
  }
}
.check_in_out_wrap .check_in {
  float: left;
  margin-left: 15px;
  margin-right: 15px;
  text-align: center;
  margin-top: 5px;
  width: 67px;
}
.check_in_out_wrap .check_in .check_in_box {
  float: left;
  width: 100%;
  border: 1px solid #a4c055;
  border-radius: 5px;
  padding-bottom: 5px;
}

.check_in_out_wrap .check_in .check_in_box span {
  line-height: initial;
}
.check_in_out_wrap .check_in label {
  font-weight: normal;
  color: #282828;
  font-size: 13px;
  line-height: 24px;
  margin-bottom: 0px;
}
.sort_place_icons {
  list-style-type: none;
  float: left;
  margin-bottom: 10px;
}
.sort_place_icons_new {
  position: absolute;
  top: 0;
  z-index: 999;
  left: -10px;
}
.sort_place_icons_coeur {
  position: absolute;
  top: 0;
  z-index: 999;
  right: 10px;
}

.sejour-services-list .sort_place_icons {
  float: none;
  display: block;
  width: 100%;
  margin-bottom: 10px;
}

.sejour-services-list .sort_place_icons > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sejour-services-list .sort_place_icons p {
  float: none;
  margin: 0;
}

.search_bar_sejour {
  margin-bottom: 30px;
}
.search_bar_sejour input.live_search {
  width: 100%;
  border: 0;
  transition: background-color 0.5s;
  color: black;
}
.search_bar_sejour input.live_search:hover,
.search_bar_sejour input.live_search:focus {
  border: 0;
  color: black;
}

.scheme_original .top_panel_middle {
  border-bottom: 0;
  border-bottom-color: #e6e5e5;
  background-color: #f4f4f4;
}

.scheme_original .top_panel_bottom {
  background-color: #f4f4f4;
}

.text_present {
  width: 49%;
}

.search_form_wrap .search_form {
  background: white;
}

.search_form_wrap .search_form .search_field {
  background: white;
}

.space_100 {
  padding-top: 30px;
}

.flexslider#carousel {
  padding-top: 5px;
}

.destination_sorting_section .travelite_middle_tabs {
  margin-top: 25px;
}
.destination_sorting_section .booking_area_section {
  padding: 0 0 15px;
  margin: 50px 0;
  border-bottom: 1px solid #a4c055;
}
.time_date {
  padding: 10px;
  /*line-height: 60px;*/
  color: #a4c055 !important;
  font-size: 20px;
  border-radius: 2px;
  border: 1.5px solid;
  margin: 0;
}

.price_infos .time_date,
.price_infos .disponible {
  float: left;
}
.disponible {
  color: #bb0810 !important;
  font-size: 17px;
  text-align: center;
  margin-left: 15px;
  line-height: 20px;
}
.disponible .nb {
  font-size: 26px;
}

.price_infos .reserver {
  background-color: #a4c055 !important;
  color: white !important;
  border: 1px solid #1dc1f8;
  border-radius: 5px;
  text-align: center;
  padding: 14px;
  width: 120px;
  display: inline-block;
  vertical-align: top;
}
.entityItemContentTitle.destination {
  color: #ffffff;
}
.entityItem.destination:after {
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(0, 0, 0, 0.006) 12.8%,
    rgba(0, 0, 0, 0.023) 24.7%,
    rgba(0, 0, 0, 0.049) 35.7%,
    rgba(0, 0, 0, 0.083) 45.9%,
    rgba(0, 0, 0, 0.123) 55.3%,
    rgba(0, 0, 0, 0.168) 63.7%,
    rgba(0, 0, 0, 0.214) 71.3%,
    rgba(0, 0, 0, 0.262) 78%,
    rgba(0, 0, 0, 0.309) 83.8%,
    rgba(0, 0, 0, 0.353) 88.7%,
    rgba(0, 0, 0, 0.394) 92.8%,
    rgba(0, 0, 0, 0.428) 95.9%,
    rgba(0, 0, 0, 0.455) 98.2%,
    rgba(0, 0, 0, 0.473) 99.5%,
    rgba(0, 0, 0, 0.48) 100%
  );
  transition: 0.7s ease all;
}

.destination_sorting_section .dates_dispo .price_infos {
  margin-top: 25px;
  margin-bottom: 65px;
  padding-bottom: 15px;
}
.destination_sorting_section .dates_dispo .price_infos > div:first-child {
  width: 100%;
  margin: 0;
}
.destination_sorting_section .dates_dispo .price_infos > div:last-child {
  width: 100%;
  margin: 25px 0 0;
}

.destination_sorting_section
  .dates_dispo
  .price_infos
  > div:last-child
  > div.col-md-4:not(.check_in_out_wrap) {
  display: flex;
  justify-content: center;
}
.destination_sorting_section
  .dates_dispo
  .price_infos
  > div:last-child
  > div.col-md-4:not(.check_in_out_wrap)
  > * {
  margin-top: 1.5em;
}

.destination_sorting_section
  .dates_dispo
  .price_infos
  > div:last-child
  > div.col-md-4.check_in_out_wrap
  > div.check_in:last-child {
  margin-right: 0;
}

.destination_sorting_section section.slider {
  margin: 0;
}

.inner_title {
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 18px;
  text-transform: uppercase;
  color: #a4c055;
  border-bottom: 1px solid #a4c055;
}

.static .inner_content ul li {
  margin-top: 15px;
  width: 100%;
  list-style-type: none;
  font-size: 15px;
  text-transform: none;
}

.color-ok {
  color: #a4c055;
}
.bg-ok {
  color: #ffffff;
  padding: 10px;
  text-align: center;
  background-color: #a4c055;
}

/* The Modal (background) */
.modal {
  display: none; /* Hidden by default */
  position: fixed; /* Stay in place */
  z-index: 9999; /* Sit on top */
  padding-top: 100px; /* Location of the box */
  left: 0;
  top: 0;
  width: 100%; /* Full width */
  height: auto; /* Full height */
  overflow: auto; /* Enable scroll if needed */
  background-color: rgb(0, 0, 0); /* Fallback color */
  background-color: rgba(0, 0, 0, 0.4); /* Black w/ opacity */
}

/* Modal Content */
.modal-content {
  position: relative;
  background-color: #fefefe;
  margin: auto;
  padding: 0;
  border: 1px solid #888;
  width: 55%;
  box-shadow:
    0 4px 8px 0 rgba(0, 0, 0, 0.2),
    0 6px 20px 0 rgba(0, 0, 0, 0.19);
  -webkit-animation-name: animatetop;
  -webkit-animation-duration: 0.4s;
  animation-name: animatetop;
  animation-duration: 0.4s;
}

.jquery-modal.blocker {
  z-index: 99;
}
#departModal .right {
  float: right;
}
#modal_error {
  text-align: center;
  margin: 30px;
  color: #d72727;
  font-size: 20px;
}

/* Add Animation */
@-webkit-keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

@keyframes animatetop {
  from {
    top: -300px;
    opacity: 0;
  }
  to {
    top: 0;
    opacity: 1;
  }
}

.center-block-countdown {
  width: 56%;
  /*width: 70%;*/
}
.scheme_original .menu_user_nav > li.link-cat > a {
  /*color: #88C87B;*/
  color: #80c3d2;
}
.scheme_original .sorting_places_wrap .top_head_bar > div > span {
  display: block;
  text-align: left;
}
.scheme_original
  .destinaion_sorting_section
  .tour_packages_right_section
  .sorting_places_section
  div.item-element {
  position: unset !important;
  height: 635px;
  top: unset !important;
  left: unset !important;
}
.scheme_original
  .destinaion_sorting_section
  .tour_packages_right_section
  .sorting_places_section
  div.item-element
  .sorting_places_wrap {
  height: 610px;
}
#sample_content .inner_title {
  display: block !important;
  margin-top: 25px;
}
.btn-contact.sc_button {
  background: #a4c055;
  color: #fff;
  padding: 15px 65px;
}
.btn-contact.sc_button:hover {
  background: #a4c055;
  color: #fff;
}
.title-ok {
  font-size: 1.4em;
}
.sc_button.btn-acces {
  padding: 12px 40px;
  margin-left: 21px;
}
.space-trait {
  height: 3px;
  width: 90%;
  background: #a4c055;
  margin: 0 auto;
}
.clear {
  clear: both;
}
table.table-docs {
  font-family: arial, sans-serif;
  border-collapse: collapse;
  width: 100%;
}

.table-docs td,
.table-docs th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}
.table-docs tr td:nth-child(even) {
  text-align: right;
}
.table-docs tr:nth-child(even) {
  background-color: #dddddd;
}
p.welcome {
  margin-top: 40px;
  margin-bottom: 15px;
  font-size: 1.5em;
  color: #454a4c;
}
.content_wrap .menu_main_nav > li > a {
  padding: 1.45em 1.2em 1.45em;
}
p.alert-soon {
  margin-top: 40px;
  margin-bottom: 15px;
  font-size: 1.5em;
  background-color: #a4c055;
  padding: 40px 20px;
  color: #fff;
}
p.alert-soon .right {
  float: right;
}
p.alert-soon .right a {
  color: #fff;
}
p.alert-soon .right a:hover {
  color: #454a4c;
}

.sorting_places_section .bottom_desc .row a.see_offer_button,
.sorting_places_section .bottom_desc .row .see_offer_complet {
  padding: 12px 18px;
  margin-left: 0;
}
.sorting_places_section .bottom_desc .row .see_offer_complet {
  margin-top: 15px;
  float: right;
  margin-left: 25px;
  background-color: #e74c3c;
}
.ml-0 {
  padding-left: 0 !important;
}

.w_60_f_r {
  width: 66%;
  float: right;
}
.img_size {
  height: 130px;
  padding-right: 40px;
}
.package_details_slider .flexslider {
  margin: 0;
}
#slider ol > li::before {
  content: "";
}
#slider .flex-control-nav {
  bottom: 0;
}
#slider {
  height: 442px;
  overflow: hidden;
}
#slider .slides > li {
  height: 442px;
}

#main_menu .navbar-nav li a {
  position: relative;
}

#main_menu .navbar-nav li a .res_count {
  background-color: #a4c055;
  line-height: 17px;
  right: 0;
  width: 21px;
  border: solid 1.5px;
  height: 21px;
  top: 57%;
  font-weight: 900;
  display: block;
  font-size: 10px;
  margin-top: -18px;
  border-radius: 20px;
  min-width: auto;
  left: 87%;
  white-space: normal;
  position: absolute;
}

#rowgrid .empty-sej {
  text-align: center;
  font-size: 18px;
  margin-bottom: 50px;
}

/*
    MultiStep Form
 */
.px-40 {
  padding: 40px;
}
.mt-40 {
  margin-top: 40px;
}
.mb-40 {
  margin-bottom: 40px;
}

#breadcrumbZone {
  padding: 0 10px;
  box-sizing: border-box;
}
#breadcrumbZone #breadcrumb {
  counter-reset: number;
  margin: 20px 0;
  overflow: hidden;
  list-style: none;
  align-items: stretch;
}
#breadcrumbZone #breadcrumb .item {
  background-color: #efefef;
  text-align: center;
  font-weight: 700;
  text-transform: uppercase;
  position: relative;
  margin: 0 5px;
  padding: 15px;
  display: flex;
  flex: 1;
  flex-wrap: nowrap;
  align-items: center;
}

#breadcrumbZone #breadcrumb .item.stepReturn:hover,
#breadcrumbZone #breadcrumb .item.previousStep:hover {
  background-color: #c4c4c4;
  cursor: pointer;
}
#breadcrumbZone #breadcrumb .item.stepReturn,
#breadcrumbZone #breadcrumb .item.previousStep,
#breadcrumbZone #breadcrumb .item.disableStep {
  background-color: #d9d9d9;
}
#breadcrumbZone #breadcrumb .item.active {
  background-color: #008fcb;
  color: #fff;
}
#breadcrumbZone #breadcrumb .item a,
#breadcrumbZone #breadcrumb .item span {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  flex: 1 100%;
}
#breadcrumbZone #breadcrumb .item > .inner {
  color: inherit;
  display: inline-block;
  vertical-align: middle;
  flex: 1 100%;
}
#breadcrumbZone #breadcrumb .item a,
#breadcrumbZone #breadcrumb .item span {
  color: inherit;
  text-decoration: none;
  vertical-align: middle;
  flex: 1 100%;
}
#breadcrumbZone #breadcrumb .item > .inner a {
  text-decoration: none;
}

/* Mark input boxes that gets an error on validation: */
#msform input.invalid {
  background-color: #ffdddd;
}

/* Hide all steps by default: */
.d-none {
  display: none;
}
#msform .tab {
  display: none;
}
#msform button.btnResa {
  background-color: #008fcb;
  color: #ffffff;
  border: none;
  padding: 10px 20px;
  font-size: 17px;
  cursor: pointer;
  margin-right: 15px;
}
#msform button:hover {
  opacity: 0.8;
}
#msform #prevBtn {
  background-color: #bbbbbb;
}
#msform .wrap2 {
  margin-bottom: 24px;
}
#msform .actions {
  overflow: auto;
  margin: 15px 0;
}
#msform .wrap2 .bigTitleZone .tte_bigTitle {
  font-size: 1.1em;
  line-height: 1.4em;
  background: #efefef;
  font-weight: bold;
  padding: 6px 0 5px 5px;
}
.bigTitleZone {
  background: #efefef;
  margin: 0 25px 0;
}
.block-confirm .fa {
  display: block;
  font-size: 60px;
  margin-bottom: 15px;
}
.label_block {
  display: block;
}
.select-category .filter-option {
  font-size: 12px;
  text-transform: lowercase;
}
.blockVac {
  margin-bottom: 7px;
  display: flex;
  gap: 10px;
}
.blockVac .rmv_vac {
  top: 31px;
}
.blockVac label {
  display: block;
}
.blockVac .maxWidth {
  width: 100%;
}
#myModal .blockVac {
  flex-wrap: wrap;
}
#myModal .blockVac > .required_field {
  flex: 1 1 140px;
  min-width: 0;
}
#myModal .blockVac > .required_field.maxWidth {
  flex-basis: 240px;
}
#myModal .blockVac:nth-child(2) {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
}
#myModal .blockVac select,
#myModal .blockVac .bootstrap-select {
  width: 100%;
  max-width: 100%;
}
#myModal .medical-option .dropdown-toggle,
#myModal .mixed-diet-option .dropdown-toggle {
  height: 34px;
}
#myModal .medicalError,
#myModal .mixedDietError {
  display: block;
  line-height: 1.3;
  margin-top: 6px;
}
@media (max-width: 767px) {
  #myModal .blockVac:nth-child(2) {
    grid-template-columns: 1fr;
  }
}
input[type="date"] {
  color: #016b90;
  border: 1px solid #a4c055;
  margin-bottom: 20px;
  box-shadow: none;
  padding: 18px !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
  border-radius: 1px;
  -webkit-transition: all ease 0.3s;
  transition: all ease 0.3s;
  font-size: 1em;
}
.disabledButton {
  opacity: 0.5;
  pointer-events: none;
}
.modal-footer .button.btn_blue {
  float: left;
  font-weight: 500;
  opacity: 1;
}

/* LISTING SEJOURS */
.room_grid_item .description {
  margin: 15px 0;
}
#rooms_grid .room_grid_item .room_info {
  position: relative;
}
#rooms_grid .room_grid_item .room_info .block-period {
  clear: both;
  text-align: left;
  margin: 0 10px 15px 0;
}
#rooms_grid .room_grid_item .room_info .block-period ul {
  list-style: none;
}
#rooms_grid .room_grid_item .room_info .block-period ul > li {
  padding-bottom: 15px;
  margin-bottom: 5px;
  border-bottom: 1px solid #f1f1f1;
}
#rooms_grid .room_grid_item .room_info .block-period span {
  float: none;
  padding: 9px;
}
#rooms_grid .room_grid_item .room_info .block-period button {
  float: right;
  border-radius: 5px;
  padding: 5px 5px;
  text-transform: uppercase;
  color: #fff;
}
#rooms_grid .room_grid_item .room_info .block-period button.complet {
  background: #a4c055;
  border-color: #a4c055;
}
#rooms_grid .room_grid_item .room_info .detail {
  text-align: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
#rooms_grid .room_grid_item .room_info .detail a {
  width: 95%;
  border-radius: 0;
}

/*
   Queries
 */

@media (max-width: 400px) {
  .room_info {
    height: auto;
  }
  #rooms_grid .room_grid_item .room_info .detail {
    position: relative;
  }
  #rooms_grid .room_grid_item .room_info .block-period button {
    float: none;
    width: 100%;
    margin-top: 15px;
  }
}
@media (max-width: 700px) {
  .scheme_original .top_panel_bottom {
    background-color: #a4c055;
  }
  .dock {
    display: none !important;
  }
}
@media screen and (max-width: 739px) {
  .toolbarList {
    display: none;
  }
  .entityList {
    margin: 0;
    padding: 0;
  }
  .entityItem--half {
    width: calc(100% / 2 - 10px);
  }
  header .header-right {
    display: none;
  }
  .header-right .links a {
    display: block;
  }
  .header-right .links a .icon-svg,
  .header-right .links a:before {
    display: none;
  }
  .viewer .toolbar {
    right: 0;
    left: 0;
    top: 30px;
    width: 85%;
    position: fixed;
    transform: none;
    transition: none;
    margin: 0 auto;
  }
  .viewer .toolbar .toolbarList {
    text-align: center;
    display: block;
  }
  .viewer .toolbar .toolbarList .toolbarItem {
    padding: 0;
    display: inline-block;
    margin-left: 20px;
  }
  .viewer .toolbar .toolbarList--Social {
    display: none;
  }
}
@media (max-width: 980px) {
  .aside_right_980 {
    float: right !important;
    margin-top: 50px;
  }
  .hidden_at_980 {
    display: none !important;
  }
  .space_100 {
    padding-top: 20px !important;
  }
}
@media (max-width: 1000px) {
  .top_panel_middle .menu [class*="col-md-"]:not(.contact_logo) {
    display: none;
  }
  .destination_sorting_section .dates_dispo .price_infos {
    padding-left: 14px;
    padding-top: 0;
    border: 0;
  }

  .check_in_out_wrap {
    padding-top: 10px;
  }

  .tour_packages_right_section {
    margin-top: 0;
  }
}
@media (max-width: 1200px) {
  #main_menu ul.nav.navbar-nav {
    margin-left: 60px;
  }
}
@media (max-width: 1500px) {
  header .header-right {
    display: none;
  }
}
@media (max-width: 1700px) {
  li.nav_res {
    margin-left: 5px;
  }
  .nav > li > a {
    padding: 10px 10px;
  }
}
@media only screen and (min-width: 992px) {
  #main_menu ul .navbar-nav {
    margin-left: 50px;
  }
  #grad1 .justify-content-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }
  #grad1 .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  #breadcrumbZone #breadcrumb {
    display: flex;
    flex-direction: row;
  }
  #breadcrumbZone #breadcrumb .item:first-child {
    margin-left: 0;
  }
  #breadcrumbZone #breadcrumb .item:last-child {
    margin-right: 0;
  }
}

.ls-disponible {
  text-align: center;
  font-weight: bold;
}

#rooms_grid .room_grid_item .room_info .room_services {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  height: 85px;
  margin: 0;
  padding: 0;
  overflow: visible;
  position: relative;
  list-style: none;
  text-align: center;
}

#rooms_grid .room_grid_item .room_services .room_service_item,
#rooms_grid .room_grid_item .room_services .room_service_more {
  flex: 0 0 calc((100% - 24px) / 4);
  min-width: 0;
  font-size: 12px;
  line-height: 1.2;
  word-break: break-word;
}

#rooms_grid .room_grid_item .room_services .room_service_item {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#rooms_grid .room_grid_item .room_service_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
}

#rooms_grid .room_grid_item .room_service_name {
  width: 100%;
  min-height: 30px;
  margin: 5px 0 0;
  line-height: 1.2;
  text-align: center;
  font-size: 12px;
}

#rooms_grid .room_grid_item .room_services .room_service_more {
  position: relative;
}

#rooms_grid .room_grid_item .room_service_more_button {
  width: 100%;
  min-height: 60px;
  border: 0;
  background: #e9f9ff;
  color: #016b90;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  border-radius: 10px;
}

#rooms_grid .room_grid_item .room_services_extra {
  display: none;
  position: absolute;
  z-index: 5;
  top: 100%;
  right: 0;
  width: 220px;
  padding: 8px;
  background: #fff;
  border: 1px solid #e9e8e7;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  text-align: left;
}

#rooms_grid .room_grid_item .room_services_extra ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

#rooms_grid .room_grid_item .room_services_extra .sort_place_icons {
  float: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 4px 0;
}

#rooms_grid .room_grid_item .room_services_extra .sort_place_icons > div {
  display: flex;
  align-items: center;
  gap: 8px;
}

#rooms_grid .room_grid_item .room_services_extra .service-espace {
  flex: 0 0 40px;
  object-fit: contain;
}

#rooms_grid .room_grid_item .room_services_extra .sort_place_icons p {
  margin: 0;
  float: none;
  font-size: 12px;
  line-height: 1.2;
}

#rooms_grid .room_grid_item .room_service_more:hover .room_services_extra,
#rooms_grid .room_grid_item .room_services.is-expanded .room_services_extra {
  display: block;
}

/***==== Page d'accueil — refonte =====**/

/* -- Titres de section : on garde la signature Smithen, on assainit l'espace autour -- */
.main_title.mt_wave.mt_orange {
  margin-bottom: 18px;
}

.main_description {
  color: var(--color-text-muted);
  font-family: var(--font-body);
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

/* -- Section "sable" pour rythmer l'alternance des fonds -- */
section.sand_bg {
  position: relative;
  background: var(--color-sand);
  border-top: none;
  border-bottom: none;
  overflow: hidden !important;
}

/* forme organique discrète, en clin d'œil au relief / à l'horizon */
section.sand_bg:before {
  content: "";
  position: absolute;
  top: -120px;
  right: -120px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 30% 30%,
    var(--color-primary-soft),
    transparent 70%
  );
  opacity: 0.7;
  pointer-events: none;
}

#rooms {
  padding-top: 50px;
}

/* -- Hero : dégradé de transition en pied de bannière, pour la lisibilité et une transition douce -- */
.rev_slider_wrapper.fullscreen-container {
  position: relative;
}

.rev_slider_wrapper.fullscreen-container:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180px;
  background: linear-gradient(
    to bottom,
    rgba(31, 58, 61, 0) 0%,
    rgba(31, 58, 61, 0.35) 100%
  );
  pointer-events: none;
  z-index: 10;
}

/* -- Hero : indicateur de scroll --
   En position fixed (et non ancré au conteneur du hero) : sa hauteur réelle est
   fixée en JS par Revolution Slider à 100vh sous un header qui occupe déjà de
   l'espace, donc le bas du hero dépasse le viewport. On masque l'indicateur une
   fois le hero sorti de l'écran via un petit IntersectionObserver (voir en bas de page). */
.hero__scroll {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 24px;
  display: flex;
  justify-content: center;
  z-index: 20;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.3s ease;
}

.hero__scroll.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.hero__scroll span {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-navy);
  box-shadow: var(--shadow-md);
  animation: hero-scroll-bounce 2.2s ease-in-out infinite;
}

@keyframes hero-scroll-bounce {
  0%,
  100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(6px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero__scroll span {
    animation: none;
  }
}

@media (max-width: 767px) {
  .hero__scroll {
    display: none;
  }
}

/* -- Cartes séjours (#rooms) -- */
#rooms .row {
  display: flex;
  flex-wrap: wrap;
  gap: 30px 0;
}

#rooms .row > .mt40 {
  flex: 0 0 100%;
}

.room {
  background: var(--color-surface);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition:
    box-shadow 0.3s ease,
    transform 0.3s ease;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.room:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-4px);
}

.room__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
}

.room__media:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 70px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.35), rgba(0, 0, 0, 0));
  z-index: 1;
}

.room__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.room:hover .room__media img {
  transform: scale(1.06);
}

.room__price {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  background: rgba(31, 58, 61, 0.88);
  color: #fff;
  font-family: var(--font-heading);
  font-weight: 600;
  font-size: 15px;
  padding: 6px 14px;
  border-radius: var(--radius-sm);
  letter-spacing: 0.2px;
}

.room__duration {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  background: rgba(255, 255, 255, 0.92);
  color: var(--color-navy);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  padding: 6px 12px;
  border-radius: var(--radius-sm);
}

.room__body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  flex: 1;
}

.room__title {
  margin: 0;
  font-size: 19px;
  line-height: 1.3;
  flex: 1;
}

.room__title a {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--color-navy);
}

.room__title a:hover {
  color: var(--color-primary-dark);
}

.room__cta {
  align-self: flex-start;
  margin-top: 4px;
}

.room__media:focus-visible,
.room__title a:focus-visible,
.room__cta:focus-visible,
.hero__scroll:focus-visible span {
  outline: 2px solid var(--color-primary-dark);
  outline-offset: 2px;
}

/* -- Section "Nos séjours c'est..." (#features) -- */
#features {
  position: relative;
  background: var(--color-bg);
  border-top: none;
  border-bottom: none;
  overflow: hidden !important;
}

#features:before {
  content: "";
  position: absolute;
  bottom: -140px;
  left: -140px;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: radial-gradient(
    circle at 60% 60%,
    rgba(201, 123, 74, 0.12),
    transparent 70%
  );
  pointer-events: none;
}

#features .container {
  position: relative;
  z-index: 1;
}

/* -- Le carrousel de gauche s'étire pour matcher la hauteur de la liste de droite -- */
#features .row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

#features .row > .col-md-7,
#features .row > .col-md-5 {
  display: flex;
}

/* sans ça, le texte non contraint pousse la colonne bien au-delà de sa largeur Bootstrap */
#features .row > .col-md-7 > div,
#features .row > .col-md-5 > div {
  width: 100%;
  min-width: 0;
}

/* sous le breakpoint md, Bootstrap ne fixe plus de largeur à col-md-7/col-md-5 :
   en flex il faut l'imposer nous-même pour retrouver l'empilement plein largeur */
@media (max-width: 991px) {
  #features .row > .col-md-7,
  #features .row > .col-md-5 {
    flex: 0 0 100%;
    max-width: 100%;
  }
}

#features_slider.owl-carousel {
  width: 100%;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-md);
}

#features_slider .owl-stage-outer,
#features_slider .owl-stage,
#features_slider .owl-item,
#features_slider .owl-item > div {
  height: 100%;
}

#features_slider .img-responsive {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 991px) {
  #features_slider.owl-carousel {
    min-height: 320px;
  }
}

#features .owl-thumbs[data-slider-id] {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

#features .owl-thumb-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  width: auto;
  padding: 16px 18px;
  margin-bottom: 0;
  border-radius: var(--radius-md);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition:
    background 0.25s ease,
    border-color 0.25s ease;
}

#features .owl-thumb-item.active:before {
  content: none;
}

#features .owl-thumb-item .media-left {
  float: none;
  flex: 0 0 auto;
  width: 44px;
  height: 44px;
  margin: 0;
  padding: 0px;
  border-radius: 50%;
  background: var(--color-surface);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: var(--shadow-sm);
}

#features .owl-thumb-item .media-left img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

#features .owl-thumb-item .media-body h5 {
  margin: 0 0 4px;
  font-size: 17px;
  font-weight: 600;
  color: var(--color-navy);
}

#features .owl-thumb-item .media-body p {
  margin: 0;
  font-size: 14px;
  color: var(--color-text-muted);
}

#features .owl-thumb-item.active {
  background: var(--color-primary-soft);
  border-color: var(--color-primary);
}

#features .owl-thumb-item.active .media-body h5,
#features .owl-thumb-item.active .media-body p {
  color: var(--color-navy);
}

#features .owl-thumb-item.active .media-left {
  background: var(--color-primary);
}

#features .owl-thumb-item.active .media-left img {
  filter: brightness(0) invert(1);
}

@media (max-width: 991px) {
  #features .owl-thumb-item {
    padding: 12px 14px;
  }
}
