:root {
  --primary: #002037;
  --dark: rgb(43, 45, 46);
  --red: rgb(166, 2, 39);
  --light: #f2f4f5;
  --blue: #238dc3;
  --light-blue: #b2d4e5;
  --vlight-grey: #e2e4e5;
  --light-grey: #c0c5c77b;
  --border-radius: 4px;
  /* global scope */
}

/* * *
* * MENU PRINCIPAL
* * */
.menu-principal a {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  span.elementor-button-content-wrapper {
    display: flex;
    align-items: center;
  }
  svg {
    width: 2.5em;
  }
}

/* * *
* * HERO
* * */
/* BOUTON WHATSAPP */
.btn-whatsapp a .elementor-button-icon svg {
  font-size: 1.5rem;
}

.btn-whatsapp a .elementor-button-content-wrapper {
  display: flex;
  align-items: center;
}

/* Sticky header */
.blurry-header {
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
  top:-181px !important;
  transition: top 1s ease !important;
}

.blurry-header.elementor-sticky--effects {
  top: 0 !important;
  background: rgba(255, 255, 255, 0.6) !important;
}

/* * *
* * HOME
* * */

/* Circuits Small Cards */
.circuit-small-card .e-hotspot {
  height: 100%;
}
.circuit-small-card .e-hotspot--overlay {
  width: 100%;
  height: 100%;
}

/* // Grid big cards */
@media screen and (max-width: 768px) {
  /* .circuits-grid .elementor-grid {
    display: flex;
    flex-direction: column;
  } */
  .circuits-grid .grid-big-card {
    margin-bottom: 30px;
    .big-card-price-tag div:first-child span {
      line-height: 0;
    }
  }
}

/* * *
* * HOME PAGE
* * */
/* On s'assure que le conteneur a la taille d'une seule carte */
/* 1. STRUCTURE DU CONTENEUR VERTICAL */
/* L'ID ou la classe de votre carrousel */
/* On donne une hauteur au carrousel pour qu'il ne s'écrase pas */
.ma-grille-verticale .mon-swiper-vertical {
  height: 554px;
  /* Ajustez selon la taille de vos cartes ! */
  width: 100%;
  /* Pour laisser respirer les ombres éventuelles */
  padding: 0 3px;
}

/* On s'assure que les cartes gardent leurs proportions */
.ma-grille-verticale .swiper-slide {
  height: auto !important;
  transition: all 0.4s ease;
}

#contact-form-home forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid="open"] .forminator-row:not(:last-child) {
  margin-bottom: 7px;
}
#contact-form-home .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside:not(:last-child),
#contact-form-home .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row:not(:last-child) {
  margin-bottom: 6px;
}
#contact-form-home .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-col:not(:last-child) {
  margin-bottom: 6px;
}
#contact-form-home .forminator-field-textarea .forminator-field {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
#contact-form-home .forminator-ui .forminator-field-textarea .forminator-textarea {
  height: 5em;
}
#contact-form-home .forminator-ui.forminator-custom-form[data-design="basic"] .forminator-label {
  margin-bottom: 4px;
}
#contact-form-home .forminator-checkbox__wrapper {
  margin-top: 8px;
}
.forminator-row-last>div>div {
  text-align: center;
}
/* * *
* * ALL CUSTOM POST TYPES
* * */
#bande-page-img {
  position: relative;
  z-index: 1;
  &:before {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    background-image: url('../img/fond-light-transparent.webp');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    z-index: 2;
  }
  img {
    box-shadow: none;
  }
}
/* * *
* * CIRCUITS - EXCURSIONS
* * */
#accordeon-excursion {
  p {
    margin-bottom: 0.7rem;
  }
  .wp-block-heading {
    margin-top: 0;
    margin-bottom: 1rem;
    font-family: 'Fira Sans', sans-serif;
    font-size: 1.3rem;
  }
  .wp-block-accordion .wp-block-accordion-item {
    margin-top: 0;
    .wp-block-accordion-heading {
      margin-top: 0;
      margin-bottom: 0.4rem;
      font-family: 'Fira Sans', sans-serif;
      font-size: 1.3rem;
    }
    .wp-block-accordion-panel {
      margin-top: 0;
    }
    button {
      padding-left: 10px;
      background-color: #fff;
      color: var(--dark);
      &:hover {
        color: inherit;
        background-color: #b2d4e53d;
      }
    }
  }
}
/* * *
* * EXCURSIONS
* * */
/* Page d'archive */
.excursions-archive-des p {
  margin-bottom: 0.4rem;
}
.carte-active {
  transform: scale(1.02);
  transition: all 0.3s;
  &:before {
    background-color: var(--blue) !important;
  }
}

/* Contenu des onglets */
#excursions-cat .e-n-tabs-heading {
  display: none;
}
/* Enlever la bordure et le padding du contenu */
#excursions-cat .e-n-tabs-content {
  border: none;
  padding: 20px 0;
  p {
    margin-bottom: 1em;
  }
}
#excursions-cat .onglet-titre .elementor-heading-title {
  display: flex;
  align-items: center;
}
#excursions-cat .onglet-titre .elementor-heading-title:before, #excursions-cat .onglet-titre .elementor-heading-title:after {
  content: "";
  height: 1px;
  width: 100px;
  background: #054B7E;
  display: inline-block;
}
#excursions-cat .onglet-titre .elementor-heading-title:before {
  margin-right: 8px;
  background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(5, 75, 126, 1) 89%);
}
#excursions-cat .onglet-titre .elementor-heading-title:after {
  margin-left: 8px;
  background: linear-gradient(90deg, rgba(5, 75, 126, 1) 0%, rgba(255, 255, 255, 1) 89%);
}

/* Lien LIRE PLUS */
/* Empêche les paragraphes de créer des espaces trop grands autour du bouton */

/* * *
 Page Single Transport template
* * */
.excursions-tarifs {
  p {
    margin-bottom: 0.2rem;
    margin-top: 0.8rem;
  }
}

/* * *
* * TRANSPORTS
* * */
/* Page d'archive */
.block-transport {
  .elementor-widget-container ul {
    margin-bottom: 10px;
    margin-left: 1rem;
    li {
      padding: 3px 0;
    }
  }
}

/* * *
 Page Single Transport template
* * */

/* Description */
.transport-description {
  text-align: justify;
  p {
    margin-bottom: 0.9rem;
  }
}
.elementor-element ul {
  margin-bottom: 0.5rem;
}

/* Tarifs, options, horaires */
.tarifs-transfert-plage p {
  margin-bottom: 0.4rem;
}

/* Option Lac Rose */
.block-lake-pink p {
  margin: 0;
  text-align: justify;
}
.block-lake-pink .elementor-widget-container h4 {
  margin-top: 0;
}
/* Tableau de tarifs */
#price-table .tablepress> :where(thead, tfoot)>tr>*, #date-table .tablepress> :where(thead, tfoot)>tr>* {
  padding: 0 0 0.7rem 0;
  background-color: #fff;
  text-align: center;
  font-size: 1rem;
  strong {
    color: var(--primary);
  }
}
#tab-pics-table .tablepress> :where(thead, tfoot)>tr>* {
  padding: 0 0 0.7rem 0;
  background-color: #fff;
  font-size: 1rem;

  strong {
    color: var(--primary);
  }
}

.tablepress {
  font-size: 16px;
  margin-bottom: 0;
  --border-color: transparent;
  & tr td {
    padding: 5px 13px 5px 0;
    border-radius: 5px;
  }
}

@media screen and (max-width: 480px) {
  .tablepress {
    display: block;
    overflow-x: scroll;
  }
}
#price-table ul, .tarifs-transport-groupe ul {
  margin-bottom: 0;
  margin-left: 2em;
}

#price-table.transport-8237 .row-2 td, #price-table.transport-8237 .row-7 td, #price-table.transport-8237 .row-12 td, #price-table.transport-8234 .row-6 td, #price-table.transport-8234 .row-9 td, #price-table.transport-8234 .row-13 td, #price-table.transport-8234 .row-16 td {
  padding-top: 0.7rem;
  padding-bottom: 0;
}
#price-table.transport-8234 .row-9 td {
  text-align: center;
}
@media screen and (min-width: 1024px) {
  #tab-pics-table .e-n-tabs-heading {
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
  }
  #tab-pics-table .column-2 {
    min-width: 148px;
  }
  #tab-pics-table .column-3, #tab-pics-table .column-4, #tab-pics-table .column-5 {
    min-width: 110px;
  }
}
@media screen and (max-width: 1023px) {
  #tab-pics-table .e-n-tabs .e-n-tabs-heading .e-n-tab-title {
    width: 100%;
  }
}
#tab-pics-table .e-n-tabs .e-n-tabs-heading .e-n-tab-title {
  width: 30%;
  padding: 1rem 1.5rem;
  height: 200px;
  background-size: cover;
  font-size: 1.2rem;
  background-repeat: no-repeat;
  background-position: center center;
  border-radius: 5px;
  &[aria-selected="true"]:before {
    background-color: rgba(35, 141, 195, 0.3);
  }
  &:hover {
    cursor: pointer;
  }
  &:before {
    content: "";
    height: 100%;
    width: 100%;
    position: absolute;
    background-color: rgba(0, 0, 0, 0.2);
    z-index: 1;
    border-radius: 5px;
  }
}
#tab-pics-table .e-n-tab-title-text {
  z-index: 3;
  font-size: 18px;
  line-height: 1.6;
}
#tab-pics-table #dakar-saly {
  background-image: url('https://newsite.senegal-lib-tour.sn/wp-content/uploads/2026/03/td-ad-gHtIQlkeihE-unsplash_800.jpeg');
}
#tab-pics-table #saly-dakar {
  background-image: url('https://newsite.senegal-lib-tour.sn/wp-content/uploads/2026/03/konrad-bachusz-2TtPSTb8K4s-unsplash_800.jpg');
}
#tab-pics-table #saint-louis-dakar {
  background-image: url('https://newsite.senegal-lib-tour.sn/wp-content/uploads/2026/03/eyelit-studio-otyotHVtVBY-unsplash_800.jpg');
}

/* Formulaire de réservation */
#booking-form .forminator-ui.forminator-custom-form[data-design="basic"] .forminator-label {
  font-weight: 500;
  font-size: 13px;
  margin-bottom: 3px;
}

#booking-form .forminator-ui.forminator-design--default .forminator-row .forminator-label {
  font-weight: 500;
  font-size: 13px;
  margin-bottom: 3px;
}
#booking-form .forminator-checkbox__wrapper {
  align-items: center;
}

#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row {
  display: flex;
  justify-content: space-between;
  &:last-child {
    margin-bottom: 0;
  }
  &.forminator-row-last {
    margin-bottom: 0;
  }
}
#booking-form .forminator-col-12 {
  width: 100%;
}
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-md-6,
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-md-6,
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-6,
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-6 {
  width: 50%;
  max-width: 50%;
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  &:first-child {
    margin-right: 0.8rem;
  }
}

#booking-form.transport-8605 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-md-6,
#booking-form.transport-8605 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-md-6,
#booking-form.transport-8605 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-6,
#booking-form.transport-8605 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-6,
#booking-form.transport-8619 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-md-6,
#booking-form.transport-8619 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-md-6,
#booking-form.transport-8619 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-6,
#booking-form.transport-8619 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-6,
#booking-form.transport-8628 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-md-6,
#booking-form.transport-8628 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-md-6,
#booking-form.transport-8628 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row .forminator-col-6,
#booking-form.transport-8628 .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside .forminator-col-6 {
  margin-bottom: 2px;
  &:first-child {
    margin-right: 0;
  }
}
#booking-form.transport-8605 .forminator-ui.forminator-design--default .forminator-row .forminator-label,
#booking-form.transport-8619 .forminator-ui.forminator-design--default .forminator-row .forminator-label,
#booking-form.transport-8628 .forminator-ui.forminator-design--default .forminator-row .forminator-label {
  font-size: 14px;
}

#booking-form .forminator-ui.forminator-custom-form[data-design="default"] .forminator-input {
  padding: 4px;
  border-radius: 5px;
  &::placeholder {
    color: var(--light-grey);
  }
}
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row-inside:not(:last-child),
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-row:not(:last-child){
  margin-bottom: 5px;
}
#booking-form .forminator-ui.forminator-custom-form[data-grid="open"] .forminator-col:not(:last-child) {
  margin-bottom: 5px;
}

#booking-form .forminator-ui.forminator-custom-form[data-design="default"] .forminator-file-upload .forminator-button {
  padding: 3px 0;
  background-color: var(--blue);
  font-size: 12px;
}
.forminator-ui.forminator-custom-form[data-design="default"] .forminator-radio:not(.forminator-radio-inline), .forminator-ui.forminator-custom-form[data-design="default"] .forminator-checkbox:not(.forminator-checkbox-inline) {
  margin: 5px 0 !important;
}
#booking-form .forminator-field-phone .forminator-field .forminator-description {
  display: none;
}
#booking-form .forminator-ui .forminator-field-textarea .forminator-textarea {
  height: 5em;
  border-radius: 5px;
}

#booking-form .forminator-ui.forminator-custom-form[data-design="default"] .forminator-radio {
  margin-top: 0;
}
/* Encadré bus sur mesure */
.bus-custom {
  .elementor-element .elementor-widget-container h3 {
    margin-top: 0;
    margin-bottom: calc(0.1em + 10px);
  }
  .elementor-element .elementor-widget-container h6 {
    margin-top: 0.5em;
  }
}

/* * *
* * FOOTER
* * */
/* Espace Tour Opérateur */
.sub-menu-links a > span {
  display: flex;
  align-items: center;
}
.sub-menu-links {
  cursor: pointer;
}

/* MEGA FOOTER */
.footer-bottom {
  color: var(--light);
  h4,h5 {
    color: var(--light);
  }
  a {
    color: var(--light);
    &:hover {
      opacity: 0.7;
    }
  }
  p {
    margin-bottom: 0;
  }
  .copyright p {
    margin-bottom: 0.8rem;
    &:last-of-type {
      margin-bottom: 0;
      font-size: 14px;
      opacity: 0.8;
    }
  }

  nav li {
    margin-bottom: 10px;
    a {
      margin: 10px 0;
    }
  }
}

/* * AVIS GOOGLE * */
.ti-widget .ti-widget-container .ti-footer .ti-row .ti-profile-img {
  background-image: url("../img/icon_senegalibtours.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 65px;
  width: 65px;
}
.ti-widget .ti-widget-container .ti-footer .ti-row {
  background-color: #fff;
  padding: 0.8rem;
  border-radius: 10px;
}
.ti-widget .ti-widget-container .ti-footer .ti-profile-details a:hover {
  background-color: var(--blue) !important;
}
.ti-widget-container .ti-footer .ti-row .ti-profile-img img {
  display: none;
}

/* //Coordonnées FOOTER */
.coordonnees-footer {
  display: flex;
  align-items: center;
    figure + div {
      margin-left: 10px;
    }
}


/* Icons social media */
/* Social media icons */
.wp-block-social-links {
  /* display: flex; */
  justify-content: space-between;
  align-items: center;
  flex-wrap: nowrap;
  a {
    display: flex;
    padding: 10px;
    border-radius: 50px;
    transition: all 0.4s ease-in;
  }
}

.wp-block-social-links .wp-social-link svg {
  width: 30px;
  height: 30px;
  fill: var(--light);
}

.wp-social-link-instagram a {
  background-color: #E1306C;
}
.wp-social-link-facebook a {
  background-color: #1877f2;
}
.wp-social-link-tiktok a {
  background-color: #000;
}
.wp-social-link-whatsapp a {
  background-color: #25d366;
}

@media screen and (max-width: 768px) {
  .wp-block-social-links {
    flex-wrap: wrap;
  }
  .wp-block-social-links .wp-social-link svg {
    width: 20px;
    height: 20px;
  }
}
