/* =========================================================
   Styles du template CPT "tour" — fond crème, hero sombre,
   accents dorés. Stratégie responsive : desktop / tablette
   (1024px) / mobile (768px) / petit mobile (480px)
   ========================================================= */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;600;700&family=Work+Sans:wght@400;500&display=swap');


* {
  box-sizing: border-box;
}


html {
  scroll-behavior: smooth;
}


.tour-page {
  font-family: 'Work Sans', sans-serif;

  color: #1D1D1B;

  background: #F7F3EC;
overflow-x: hidden;

  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}


.tour-page img {
  max-width: 100%;
}


.tour-page h1,
.tour-page h2,
.tour-page h3,
.tour-page blockquote {

  font-family:
    'Playfair Display',
    serif;

}



/* =========================================================
   HERO
   ========================================================= */

.tour-hero {

  position: relative;

  height: 540px;
  min-height: 540px;

  overflow: hidden;

}


.tour-hero img {

  width: 100%;
  height: 100%;

  object-fit: cover;

  display: block;

}


.tour-hero-fallback {

  width: 100%;
  height: 100%;

  background: #2B2B28;

}


/*
 * Overlay léger :
 * conserve la lisibilité du texte blanc sans trop
 * assombrir la photographie du hero.
 */

.tour-hero-overlay {

  position: absolute;

  inset: 0;


  background:

    linear-gradient(

      90deg,

      rgba(10, 10, 10, 0.38) 0%,

      rgba(10, 10, 10, 0.18) 38%,

      rgba(10, 10, 10, 0.02) 72%

    ),

    linear-gradient(

      0deg,

      rgba(10, 10, 10, 0.12) 0%,

      rgba(10, 10, 10, 0) 55%

    );

}


.tour-hero-text {

  position: absolute;

  left: 48px;
  right: 48px;

  bottom: 55px;

  z-index: 2;

  max-width: 480px;

}


.tour-badge {

  display: inline-block;

  background: #C79A3E;

  color: #1D1D1B;

  font-size: 10.5px;

  font-weight: 600;

  letter-spacing: 0.08em;

  padding: 6px 12px;

  border-radius: 3px;

  margin-bottom: 16px;

}


.tour-title {

  font-size:
    clamp(
      32px,
      4.2vw,
      58px
    );

  font-weight: 700;

  color: #FFFFFF;

  margin:
    0
    0
    14px;

  line-height: 1.08;

  max-width: 480px;

}


.tour-subtitle {

  color: #EDE9E0;

  font-size: 15px;

  margin:
    0
    0
    12px;

  font-weight: 400;

}


.tour-rating-inline {

  color: #FFFFFF;

  font-size: 14px;

  font-weight: 500;

}


.tour-rating-inline .stars {

  color: #C79A3E;

  letter-spacing: 2px;

  margin-right: 8px;

}



/* =========================================================
   FLOATING CARD
   ========================================================= */

.tour-float-card {

  margin:
    -34px
    48px
    0;

  position: relative;

  z-index: 3;

  background: #FFFFFF;

  border-radius: 6px;

  padding:
    20px
    28px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 20px;

  box-shadow:
    0
    12px
    28px
    rgba(0, 0, 0, 0.12);

}


.tour-float-infos {

  display: flex;

  align-items: center;

  gap: 26px;

  flex-wrap: wrap;

  row-gap: 14px;

}


.tour-float-info {

  display: flex;

  align-items: center;

  gap: 12px;

}


.tour-float-info i {

  font-size: 25px;

  color: #1D1D1B;

  flex-shrink: 0;

}


.tour-float-info-text {

  display: flex;

  flex-direction: column;

  gap: 3px;

}


.tour-float-info .val {

  display: block;

  font-size: 11px;

  font-weight: 600;

  line-height: 1.2;

  text-transform: uppercase;

}


.tour-float-info .lbl {

  display: block;

  font-size: 10px;

  color: #8A8577;

  line-height: 1.25;

}


.tour-sep {

  width: 1px;

  height: 40px;

  background: #E7E2D6;

}


.tour-float-right {

  display: flex;

  align-items: center;

  gap: 26px;

  flex-shrink: 0;

}


.tour-price {

  min-width: 70px;

}


.tour-price .lbl {

  font-size: 10px;

  color: #8A8577;

  margin-bottom: 2px;

}


.tour-price .val {

  font-size: 22px;

  font-weight: 600;

  line-height: 1;

}



/* =========================================================
   BUTTONS
   ========================================================= */

.btn-primary {

  background: #1D1D1B;

  color: #FFFFFF;

  border: none;

  border-radius: 4px;

  padding:
    15px
    28px;

  font-family:
    'Work Sans',
    sans-serif;

  font-size: 12px;

  font-weight: 600;

  letter-spacing: 0.04em;

  text-transform: uppercase;

  text-decoration: none;

  display: inline-block;

  cursor: pointer;

  white-space: nowrap;


  transition:

    background-color
    0.2s
    ease,

    transform
    0.15s
    ease;

}


.btn-primary:hover {

  background: #33332F;

}


.btn-primary:active {

  transform:
    translateY(
      1px
    );

}


.btn-gold {

  background: #C79A3E;

  color: #1D1D1B;

}


.btn-gold:hover {

  background: #D6AC55;

}



/* =========================================================
   SUBNAV
   ========================================================= */

.tour-subnav {

  display: flex;

  gap: 30px;

  padding:
    22px
    48px
    0;

  border-bottom:
    1px
    solid
    #E7E2D6;

  margin-top: 16px;

  font-size: 12.5px;

  letter-spacing: 0.03em;

  color: #8A8577;

  text-transform: uppercase;

  overflow-x: auto;

  -webkit-overflow-scrolling:
    touch;

  scrollbar-width:
    none;

}


.tour-subnav::-webkit-scrollbar {

  display: none;

}


.tour-subnav a {

  padding-bottom: 16px;

  color: #8A8577;

  text-decoration: none;

  white-space: nowrap;

  flex-shrink: 0;

  transition:
    color
    0.2s
    ease;

}


.tour-subnav a:hover {

  color: #1D1D1B;

}


.tour-subnav a.active {

  color: #1D1D1B;

  border-bottom:
    2px
    solid
    #1D1D1B;

  font-weight: 600;

}



/* =========================================================
   GENERIC SECTIONS
   ========================================================= */

.tour-section {

  padding:
    60px
    48px;

}


.section-title {

  text-align: center;

  font-size: 32px;

  font-weight: 600;

  margin:
    0
    auto
    36px;

  max-width: 600px;

  line-height: 1.2;

}


.eyebrow {

  font-size: 11px;

  font-weight: 600;

  letter-spacing: 0.1em;

  color: #C79A3E;

  text-align: center;

  text-transform: uppercase;

  margin-bottom: 10px;

}



/* =========================================================
   FEATURE CARDS
   ========================================================= */

.tour-features {

  display: grid;

  grid-template-columns:
    repeat(
      auto-fit,
      minmax(
        160px,
        1fr
      )
    );

  gap: 22px;

}


.tour-feature-card {

  background: #FFFFFF;

  border-radius: 6px;

  padding:
    30px
    20px;

  text-align: center;

  box-shadow:
    0
    4px
    16px
    rgba(0, 0, 0, 0.05);


  transition:

    transform
    0.2s
    ease,

    box-shadow
    0.2s
    ease;

}


.tour-feature-card:hover {

  transform:
    translateY(
      -3px
    );

  box-shadow:
    0
    8px
    22px
    rgba(0, 0, 0, 0.08);

}


.tour-feature-card i {

  font-size: 26px;

  color: #1D1D1B;

  margin-bottom: 14px;

  display: block;

}


.tour-feature-title {

  font-weight: 600;

  margin-bottom: 8px;

  font-size: 15px;

}


.tour-feature-card p {

  font-size: 12.5px;

  color: #8A8577;

  margin: 0;

  line-height: 1.55;

}



/* =========================================================
   EXPERIENCE
   ========================================================= */

.tour-experience-section {

  padding-top: 70px;

  padding-bottom: 45px;

}


.tour-experience {

  display: grid;

  grid-template-columns:
    0.7fr
    1.3fr;

  gap: 55px;

  align-items: center;

}


.tour-experience-content {

  max-width: 340px;

}


.tour-experience-eyebrow {

  text-align: left;

  margin-bottom: 10px;

}


.tour-experience-title {

  font-size: 34px;

  font-weight: 600;

  line-height: 1.08;

  margin:
    0
    0
    22px;

}


.tour-experience-text p {

  font-size: 13.5px;

  color: #55534C;

  line-height: 1.7;

  margin:
    0
    0
    16px;

}


.tour-experience-link {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  margin-top: 8px;

  color: #1D1D1B;

  font-family:
    'Playfair Display',
    serif;

  font-size: 13px;

  font-weight: 600;

  font-style: italic;

  text-decoration: none;

}


.tour-experience-link span {

  font-family:
    'Work Sans',
    sans-serif;

  font-style: normal;

  font-size: 18px;

  transition:
    transform
    0.2s
    ease;

}


.tour-experience-link:hover span {

  transform:
    translateX(
      4px
    );

}


.tour-experience-photo {

  width: 100%;

}


.tour-experience-photo img {

  width: 100%;

  height: 340px;

  object-fit: cover;

  border-radius: 5px;

  display: block;

}



/* =========================================================
   GALLERY
   ========================================================= */

.tour-gallery-section {

  padding-top: 20px;

  padding-bottom: 55px;

}


.tour-gallery-eyebrow {

  text-align: center;

  margin-bottom: 18px;

}


.tour-gallery {

  display: grid;

  grid-template-columns:
    repeat(
      5,
      1fr
    );

  gap: 8px;

}


.tour-gallery-item {

  overflow: hidden;

  border-radius: 4px;

}


.tour-gallery-item img {

  width: 100%;

  height: 170px;

  object-fit: cover;

  display: block;

  transition:
    transform
    0.35s
    ease;

}


.tour-gallery-item:hover img {

  transform:
    scale(
      1.03
    );

}



/* =========================================================
   ITINERARY / GUIDE

   Timeline à gauche,
   carte au centre,
   guide à droite.
   ========================================================= */

.tour-itin-guide-grid {

  display: grid;

  grid-template-columns:
    0.85fr
    1.2fr
    1fr;

  gap: 42px;

  align-items: stretch;

}



/* ---------------------------------------------------------
   ITINERARY
   --------------------------------------------------------- */

.tour-itinerary {

  padding-top: 6px;

}


.tour-itinerary .eyebrow {

  text-align: left;

}


.tour-itin-title {

  font-size: 26px;

  font-weight: 700;

  line-height: 1.15;

  margin:
    0
    0
    26px;

}


.tour-timeline {

  position: relative;

  padding-left: 30px;

}


/*
 * Ligne verticale reliant les différentes étapes
 */

.tour-timeline::before {

  content: "";

  position: absolute;

  left: 5px;

  top: 7px;

  bottom: 15px;

  width: 1px;

  background: #D8D2C5;

}


.tour-stop {

  position: relative;

  margin-bottom: 24px;

}


.tour-stop:last-child {

  margin-bottom: 0;

}


.tour-stop .dot {

  position: absolute;

  left: -30px;

  top: 4px;

  width: 11px;

  height: 11px;

  border:
    2px
    solid
    #1D1D1B;

  border-radius: 50%;

  background: #F7F3EC;

}


/*
 * Dernière étape mise en avant en doré
 */

.tour-stop.is-end .dot {

  border-color: #C79A3E;

  background: #C79A3E;

}


.stop-name {

  font-size: 14px;

  font-weight: 500;

  line-height: 1.4;

  color: #2E2D29;

}



/* ---------------------------------------------------------
   MAP
   --------------------------------------------------------- */

.tour-map-box {

  position: relative;

  min-height: 330px;

  height: 100%;

  background: #EDE9E0;

  border-radius: 7px;

  overflow: hidden;

  box-shadow:
    0
    4px
    18px
    rgba(0, 0, 0, 0.05);

}


.tour-map-box img {

  width: 100%;

  height: 100%;

  min-height: 330px;

  object-fit: cover;

  display: block;

}



/* ---------------------------------------------------------
   GUIDE
   --------------------------------------------------------- */

.tour-guide {

  background: #FFFFFF;

  padding:
    28px
    28px
    26px;

  border-radius: 7px;

  box-shadow:
    0
    4px
    18px
    rgba(0, 0, 0, 0.05);

}


.tour-guide .eyebrow {

  text-align: left;

}


.tour-guide .tour-itin-title {

  margin-bottom: 18px;

}


.tour-guide-photo {

  width: 92px;

  height: 92px;

  border-radius: 50%;

  overflow: hidden;

  margin-bottom: 18px;

}


.tour-guide-photo img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}


.tour-guide blockquote {

  position: relative;

  margin:
    0
    0
    20px;

  font-family:
    'Playfair Display',
    serif;

  font-style: italic;

  font-size: 18px;

  font-weight: 500;

  line-height: 1.45;

  color: #2E2D29;

}


.tour-guide-facts {

  display: flex;

  flex-direction: column;

  gap: 10px;

  margin-bottom: 0;

  font-size: 12.5px;

  color: #666158;

}


.tour-guide-facts span {

  display: flex;

  align-items: center;

}


.tour-guide-facts i {

  width: 20px;

  flex-shrink: 0;

  margin-right: 7px;

  color: #C79A3E;

  font-size: 16px;

}



/* =========================================================
   REVIEWS

   Les cartes ont une hauteur homogène.
   Les avis très longs sont limités visuellement pour ne pas
   déformer toute la section.
   ========================================================= */

.tour-reviews {

  display: grid;

  grid-template-columns:
    repeat(
      3,
      1fr
    );

  gap: 22px;

  align-items: stretch;

}


.tour-review {

  background: #FFFFFF;

  border-radius: 6px;

  padding:
    26px
    24px;

  box-shadow:
    0
    4px
    16px
    rgba(0, 0, 0, 0.05);

  height: 100%;

  display: flex;

  flex-direction: column;

}


.tour-review .stars {

  color: #C79A3E;

  font-size: 13px;

  margin-bottom: 12px;

  letter-spacing: 2px;

}


/*
 * Limite visuellement les avis très longs.
 * Le texte complet reste présent dans le HTML.
 */

.tour-review-text {

  font-size: 13.5px;

  line-height: 1.6;

  color: #3A3936;

  margin-bottom: 16px;

  display: -webkit-box;

  -webkit-box-orient: vertical;

  -webkit-line-clamp: 7;

  overflow: hidden;

}

/* Avis développé */
.tour-review.is-expanded .tour-review-text {

  display: block;

  overflow: visible;

  -webkit-line-clamp: unset;

}


/* Bouton Read more / Show less */
.tour-review-toggle {

  display: inline-block;

  align-self: flex-end;

  padding: 0;

  margin:
    0
    0
    16px;

  border: 0;

  background: transparent;

  color: #1D1D1B;

  font-family:
    'Work Sans',
    sans-serif;

  font-size: 12px;

  font-weight: 600;

  text-decoration: underline;

  text-underline-offset: 3px;

  cursor: pointer;

}


.tour-review-toggle:hover {

  color: #C79A3E;

}

.tour-review .who {

  font-size: 12.5px;

  font-weight: 600;

  color: #1D1D1B;

  margin-top: auto;

}



/* =========================================================
   FAQ + CTA LAYOUT

   Sur desktop :
   FAQ à gauche / CTA à droite.

   Sur mobile :
   les deux blocs repassent l'un sous l'autre.
   ========================================================= */

.tour-bottom-grid {

  display: grid;

  grid-template-columns:
    0.8fr
    1.2fr;

  gap: 32px;

  align-items: stretch;

  padding:
    30px
    48px
    48px;

}


.tour-faq-section {

  min-width: 0;

}


.tour-faq-section .section-title {

  text-align: left;

  max-width: none;

  margin:
    0
    0
    20px;

  font-size: 28px;

}



/* =========================================================
   FAQ
   ========================================================= */

.tour-faq-item {

  border-bottom:
    1px
    solid
    #E7E2D6;

  padding:
    18px
    16px;

  background: #FBF9F4;

  border-radius: 4px;

  margin-bottom: 4px;

}


.tour-faq-item summary {

  cursor: pointer;

  font-size: 14px;

  font-weight: 500;

  list-style: none;

}


.tour-faq-item summary::-webkit-details-marker {

  display: none;

}


.tour-faq-item summary::after {

  content: "+";

  float: right;

  color: #8A8577;

  font-weight: 400;

}


.tour-faq-item[open] summary::after {

  content: "−";

}


.tour-faq-item p {

  font-size: 13px;

  color: #55534C;

  margin:
    12px
    0
    0;

  line-height: 1.6;

}



/* =========================================================
   CTA
   ========================================================= */

.tour-cta {

  position: relative;

  min-height: 320px;

  height: 100%;

  overflow: hidden;

  border-radius: 6px;

  margin: 0;

}


.tour-cta img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

}


/*
 * Overlay volontairement léger :
 * la photo reste lumineuse tout en garantissant
 * une bonne lisibilité du texte blanc.
 */

.tour-cta-overlay {

  position: absolute;

  inset: 0;

  background:
    rgba(
      20,
      20,
      18,
      0.20
    );

}


.tour-cta-text {

  position: absolute;

  inset: 0;

  z-index: 2;

  display: flex;

  flex-direction: column;

  align-items: flex-start;

  justify-content: center;

  padding-left: 48px;

  padding-right: 48px;

}


.tour-cta-text h2 {

  color: #FFFFFF;

  font-size: 30px;

  font-weight: 700;

  margin:
    0
    0
    22px;

  line-height: 1.25;

}



/* =========================================================
   TRUST BAR
   ========================================================= */

.tour-trust {

  display: grid;

  grid-template-columns:
    repeat(
      4,
      1fr
    );

  gap: 20px;

  padding:
    30px
    48px
    50px;

}


.tour-trust div {

  text-align: center;

}


.tour-trust i {

  font-size: 18px;

  color: #1D1D1B;

  margin-bottom: 8px;

  display: block;

}


.tour-trust .t1 {

  font-size: 12.5px;

  font-weight: 600;

}


.tour-trust .t2 {

  font-size: 11px;

  color: #8A8577;

}



/* =========================================================
   ANCRES

   Décale l'arrivée des liens de sous-navigation afin que
   le début des sections reste visible.
   ========================================================= */

#overview,
#highlights,
#gallery,
#itinerary,
#reviews,
#faq {

  scroll-margin-top: 100px;

}



/* =========================================================
   RESPONSIVE
   ========================================================= */



/* =========================================================
   TABLETTE (≤1024px)
   ========================================================= */

@media (max-width: 1024px) {


  .tour-hero {

    height: 460px;

    min-height: 460px;

  }


  .tour-gallery {

    grid-template-columns:
      repeat(
        3,
        1fr
      );

  }



  /* Experience */

  .tour-experience {

    grid-template-columns:
      1fr;

    gap: 32px;

  }


  .tour-experience-content {

    max-width: 100%;

  }


  .tour-experience-photo img {

    height: 280px;

  }



  /* Itinerary / Guide */

  .tour-itin-guide-grid {

    grid-template-columns:
      1fr
      1fr;

    row-gap: 40px;

  }


  .tour-itinerary,
  .tour-map-box {

    grid-column:
      span
      1;

  }


  .tour-guide {

    grid-column:
      1
      /
      -1;

  }



  /* Trust */

  .tour-trust {

    grid-template-columns:
      repeat(
        2,
        1fr
      );

  }

  /* Reviews */
  .tour-reviews {

    grid-template-columns:
      repeat(
        2,
        1fr
      );

  }

}



/* =========================================================
   MOBILE (≤768px)
   ========================================================= */

@media (max-width: 768px) {


  /* Hero */

  .tour-hero {

    height: 400px;

    min-height: 400px;

  }


  .tour-hero-text {

    left: 24px;

    right: 24px;

    bottom: 32px;

    max-width: 100%;

  }


  .tour-title {

    font-size:
      clamp(
        28px,
        8vw,
        38px
      );

  }



  /* Floating card */

  .tour-float-card {

    margin:
      -28px
      16px
      0;

    padding: 20px;

    flex-direction: column;

    align-items: stretch;

    gap: 18px;

  }


  .tour-float-infos {

    justify-content: space-between;

    gap:
      16px
      20px;

  }


  .tour-float-right {

    justify-content: space-between;

    width: 100%;

  }


  .btn-primary {

    padding:
      13px
      20px;

  }



  /* Navigation */

  .tour-subnav {

    padding:
      18px
      20px
      0;

    gap: 22px;

    justify-content: flex-start;

  }



  /* Generic sections */

  .tour-section {

    padding:
      44px
      20px;

  }


  .section-title {

    font-size: 26px;

  }



  /* Experience */

  .tour-experience-section {

    padding-top: 44px;

    padding-bottom: 30px;

  }


  .tour-experience-title {

    font-size: 26px;

  }


  .tour-experience-photo img {

    height: 220px;

  }



  /* Gallery */

  .tour-gallery {

    grid-template-columns:
      repeat(
        2,
        1fr
      );

  }


  .tour-gallery-item img {

    height: 140px;

  }



  /* Itinerary / Guide */

  .tour-itin-guide-grid {

    grid-template-columns:
      1fr;

  }


  .tour-guide {

    grid-column:
      auto;

  }


  .tour-map-box,
  .tour-map-box img {

    min-height: 260px;

  }



  /* FAQ + CTA */

  .tour-bottom-grid {

    grid-template-columns:
      1fr;

    padding:
      20px
      20px
      32px;

    gap: 28px;

  }


  .tour-faq-section .section-title {

    font-size: 26px;

  }



  /* CTA */

  .tour-cta {

    min-height: 240px;

    height: 240px;

    margin: 0;

  }


  .tour-cta-text {

    padding-left: 24px;

    padding-right: 24px;

  }


  .tour-cta-text h2 {

    font-size: 24px;

  }



  /* Trust */

  .tour-trust {

    grid-template-columns:
      repeat(
        2,
        1fr
      );

    padding:
      26px
      20px
      40px;

    gap:
      24px
      16px;

  }

  /* Reviews */
  .tour-reviews {

    grid-template-columns:
      1fr;

  }

}



/* =========================================================
   PETIT MOBILE (≤480px)
   ========================================================= */

@media (max-width: 480px) {


  /* Hero */

  .tour-hero {

    height: 340px;

    min-height: 340px;

  }


  .tour-hero-text {

    bottom: 24px;

    left: 18px;

    right: 18px;

  }


  .tour-badge {

    margin-bottom: 12px;

  }



  /* Floating card */

  .tour-float-card {

    margin:
      -22px
      12px
      0;

    padding: 16px;

  }


  .tour-float-infos {

    gap:
      14px
      16px;

  }


  .tour-float-info i {

    font-size: 20px;

  }



  /* Sections */

  .tour-section {

    padding:
      36px
      16px;

  }


  .section-title {

    font-size: 22px;

  }



  /* Experience */

  .tour-experience-title {

    font-size: 22px;

  }



  /* Gallery */

  .tour-gallery {

    grid-template-columns:
      repeat(
        2,
        1fr
      );

    gap: 6px;

  }


  .tour-gallery-item img {

    height: 110px;

  }



  /* Feature cards */

  .tour-feature-card {

    padding:
      22px
      16px;

  }



  /* FAQ + CTA */

  .tour-bottom-grid {

    padding:
      16px
      12px
      28px;

    gap: 24px;

  }


  .tour-faq-section .section-title {

    font-size: 22px;

  }



  /* CTA */

  .tour-cta {

    min-height: 210px;

    height: 210px;

    margin: 0;

  }


  .tour-cta-text h2 {

    font-size: 20px;

    margin-bottom: 16px;

  }


  .btn-primary {

    padding:
      12px
      18px;

    font-size: 11px;

  }



  /* Trust bar */

  .tour-trust {

    grid-template-columns:
      1fr;

    padding:
      24px
      16px
      32px;

  }

}



/* =========================================================
   MOBILE — règle héritée conservée pour compatibilité.

   Elle maintient les marges réduites du hero et de la
   sous-navigation sur les écrans ≤720px.
   ========================================================= */

@media (max-width: 720px) {


  .tour-hero-text,
  .tour-subnav {

    left: 20px;

    right: 20px;

    padding-left: 0;

    padding-right: 0;

  }


}

/* =========================================================
   LANGUAGE FLAGS — FLOATING CARD
   ========================================================= */

.tour-language-flags {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  margin-top: 1px;
}

.tour-language-flag {
  display: inline-block;
  font-size: 17px;
  line-height: 1;
  cursor: default;
}

.tour-language-code {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #8A8577;
  line-height: 1;
}

/* =========================================================
   SINGLE TOUR — HEADER IDENTIQUE AU RESTE DU SITE
   Neutralise uniquement l'overlay du header sur le hero.
   ========================================================= */

body.single-tour .site-header,
body.single-tour #masthead {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  z-index: 100;
  background: #ffffff !important;
}

body.single-tour .site-header .inside-header {
  background: #ffffff !important;
}

body.single-tour .main-navigation,
body.single-tour .main-navigation .inside-navigation {
  background: #ffffff !important;
}

body.single-tour .site-header .main-title a,
body.single-tour .site-header .main-title a:visited,
body.single-tour .main-navigation .main-nav > ul > li > a,
body.single-tour .main-navigation .menu-toggle,
body.single-tour .main-navigation .menu-bar-item > a {
  color: #222222 !important;
}

body.single-tour .main-navigation .main-nav > ul > li:hover > a,
body.single-tour .main-navigation .main-nav > ul > li:focus-within > a,
body.single-tour .main-navigation .main-nav > ul > li.current-menu-item > a,
body.single-tour .main-navigation .main-nav > ul > li.current-menu-ancestor > a {
  color: #263b30 !important;
  background: transparent !important;
}

body.single-tour .main-navigation .dropdown-menu-toggle {
  color: inherit !important;
}
