/* en-bundle.css : créé à la main par Meher Ferjani, Tunisie Transferts & Tours */

/* ===== style.css ===== */
/* Styles pour les écrans larges (desktop) */
@media only screen and (min-width: 769px) {
  .post-body h1 {
    font-size: 1.3rem !important;
    margin-bottom: 1rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #0257db !important;
    font-family: "Book Antiqua", serif !important;
     
  }

  .post-body h2 {
    font-size: 1.18rem !important;
    margin-bottom: 0.8rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h3 {
    font-size: 1.25rem !important;
    margin-bottom: 0.6rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h4 {
    font-size: 1.15rem !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h5 {
    font-size: 1.1rem !important;
    margin-bottom: 0.4rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h6 {
    font-size: 1rem !important;
    margin-bottom: 0.3rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  /* Listes desktop */
  ul {
    margin: 0 0 20px 0;
    padding-left: 20px;
    list-style-type: disc;
  }

  li {
    margin-bottom: 12px;
    line-height: 1.6;
    font-size: 16px;
    color: #000;
    transform: translateY(1px);
  }
}

/* Style du lien WhatsApp */
.link-whatsapp {
  color: #20cb2e;
  font-weight: bold;
  text-decoration: none;
  transition: color 0.3s ease-in-out;
}

.link-whatsapp:hover {
  color: #128c00;
  text-decoration: underline;
  cursor: pointer;
}

/* Styles pour les écrans mobiles et tablettes */
@media only screen and (max-width: 768px) {
  .post-body h1 {
    font-size: 1.2rem !important;
    margin-bottom: 1rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    color: #0257db !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h2 {
    font-size: 1.18rem !important;
    margin-bottom: 0.8rem !important;
    font-weight: 400 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h3 {
    font-size: 1.1rem !important;
    margin-bottom: 0.6rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h4 {
    font-size: 1.05rem !important;
    margin-bottom: 0.5rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h5 {
    font-size: 1.1rem !important;
    margin-bottom: 0.4rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  .post-body h6 {
    font-size: 1rem !important;
    margin-bottom: 0.3rem !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    color: #222 !important;
    font-family: "Book Antiqua", serif !important;
  }

  /* Listes mobile/tablette */
  ul {
    margin: 0 0 18px 0;
    padding-left: 18px;
    list-style-type: disc;
  }

  li {
    margin-bottom: 10px;
    line-height: 1.5;
    font-size: 15px;
    color: #444444;
  }
}
.pagination-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 2rem auto;
  max-width: 100%;
  padding: 0 1rem;
}

.btn-nav {
  padding: 0.4rem 0.8rem;
  background-color: #ff9800;
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 6px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  font-size: 0.85rem;
  transition: background-color 0.2s ease-in-out;
}

.btn-nav:hover {
  background-color: #0d6efd !important;
}

@media (min-width: 769px) {
  .pagination-nav {
    justify-content: space-between;
    max-width: 100%;
    padding: 0 2rem;
  }

  .btn-nav {
    font-size: 0.85rem;
    padding: 0.4rem 0.8rem;
  }

  .pagination-nav .btn-nav:first-child {
    margin-left: 85px;
  }

  .pagination-nav .btn-nav:last-child {
    margin-right: 85px;
  }
}

@media (max-width: 768px) {
  .pagination-nav {
    flex-direction: row;
    justify-content: space-between;
    padding: 0 1rem;
    margin: 1.5rem auto;
  }

  .btn-nav {
    font-size: 0.8rem;
    padding: 0.4rem 0.8rem;
  }
}
.pagination-nav {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 2rem 0;
}

.btn-nav {
  display: inline-block;
  min-width: 140px;
  padding: 10px 20px;
  background-color: #ff9800;
  color: #fff;
  text-align: center;
  text-decoration: none;
  border-radius: 4px;
  font-weight: 500;
  transition: background-color 0.3s ease;
}

.btn-nav:hover {
  background-color: #444;
}

/* ===== tunisie.css ===== */

/* =========================== */
/*         BANNIÈRE            */
/* =========================== */
.transfert-banner {
  width: 100%;
  min-height: 700px;
  position: relative;
  background: #2d3c50;
  color: #fff;
  transform: translateY(-20px);
}
.transfert-hero-content {
  max-width: 1200px;
  margin: auto;
  width: 94%;
  height: auto;
  padding: 32px 0;
}
.transfert-hero-content h1 {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.3em;
  color: #fff;
  text-shadow: 1px 1px 8px #0007;
}
.transfert-hero-content .highlight {
  color: #006699;
  background: none;
}
.transfert-hero-content h3 {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 1.2em;
  color: #fff;
  text-shadow: 1px 1px 8px #0007;
}

/* =========================== */
/*         FORMULAIRES         */
/* =========================== */
.transfert-form {
  background: rgba(255,255,255, 0.85);
  border-radius: 18px;
  box-shadow: 0 8px 32px #0002;
  padding: 20px 18px;
}
.transfert-row {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  align-items: flex-end;
  justify-content: flex-start;
}
.transfert-field {
  display: flex;
  align-items: center;
  background: #f2f4f8;
  border-radius: 12px;
  padding: 7px 15px;
  min-width: 180px;
  flex: 1 0 180px;
  max-width: 220px;
  transition: box-shadow 0.2s;
  box-shadow: 0 1px 4px #0001;
}
.transfert-field input, .transfert-field select, .transfert-field textarea {
  border: none;
  background: none;
  font-size: 1rem;
  width: 100%;
  outline: none;
  padding: 6px 0 6px 7px;
  color: #222;
}
.transfert-field textarea {
  resize: vertical;
  min-height: 22px;
  height: 22px;
  box-sizing: border-box;
}
.transfert-field input[type=&quot;date&quot;], .transfert-field input[type=&quot;time&quot;] {
  color: #222;
}
.transfert-field .icon {
  font-size: 1.2em;
  color: #2196f3;
  margin-right: 8px;
  flex-shrink: 0;
  min-width: 1.7em;
  display: inline-flex;
  align-items: center;
}
.transfert-field .icon svg {
  width: 1.5em;
  height: 1.5em;
  display: inline-block;
  vertical-align: middle;
}
.transfert-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-left: auto;
  min-width: 280px;
}
.transfert-btn {
  background: #169b60;
  color: #fff;
  border: none;
  border-radius: 12px;
  padding: 15px 35px;
  font-size: 1.15rem;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s;
  min-width: 140px;
  margin-left: 8px;
  box-shadow: 0 1px 4px #0001;
}
.transfert-btn:hover { background: #127a4a; }

.transfert-switch {
  display: flex;
  align-items: center;
  background: #f2f4f8;
  border-radius: 12px;
  padding: 7px 18px;
  gap: 10px;
  height: 48px;
}
.switch-label {
  font-size: 1.05rem;
  color: #222;
  font-weight: 500;
}
.switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 20px;
  margin-bottom: 0;
}
.switch input {display:none;}
.slider {
  position: absolute;cursor: pointer;top: 0;left: 0;right: 0;bottom: 0;
  background: #ccc;
  border-radius: 19px;
  transition: .3s;
}
.slider:before {
  position: absolute;content: &quot;&quot;;
  height: 16px;width: 16px;left: 2px;bottom: 2px;
  background: #fff;border-radius: 50%;
  transition: .3s;
}
.switch input:checked + .slider {background: #169b60;}
.switch input:checked + .slider:before {transform: translateX(18px);}
.retour-btn {
  background: #fff;
  border: 1.5px dashed #169b60;
  color: #169b60;
  border-radius: 10px;
  padding: 9px 18px;
  font-size: 1.01rem;
  cursor: pointer;
  font-weight: 500;
  transition: background .2s, border .2s;
}
.retour-btn:hover {
  background: #f2fff6;
  border-color: #127a4a;
}

/* =================== VERSION MOBILE =================== */
@media (max-width:900px) {
  .transfert-row { flex-wrap: wrap; gap:14px;}
  .transfert-field { min-width:150px;max-width:100%;}
  .transfert-btn { width:100%; margin: 10px 0 0 0;}
  .transfert-actions { min-width:unset; width:100%; margin:0; gap:10px; }
}
@media (max-width:768px) {
  .adults-field {
    flex: 0 0 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
  .adults-field select {
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .transfert-field .icon {
    display: inline-flex !important;
    font-size: 1.3em !important;
    min-width: 1.7em !important;
    margin-right: 8px !important;
    color: #2196f3 !important;
    opacity: 1 !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
    background: none !important;
    align-items: center !important;
  }
  .transfert-field { min-height: 36px !important; }
}

/* =========================== */
/*      ANIMATION VOITURE      */
/* =========================== */
body {
  min-height: 100vh;
  margin: 0;
  padding: 0;
  background: #fff;
}
.car-anim-container {
  position: relative;
  width: 100vw;
  max-width: 100%;
  overflow: hidden;
  height: 120px;
  margin-bottom: 18px;
  background: linear-gradient(to bottom, #87CEEB 0%, #ffffff 100%);
}
.car-anim-img {
  position: absolute;
  top: 8px;
  left: -400px;
  height: 80px;
  z-index: 2;
  animation: carMoveLinear 7s linear infinite;
  transform: translateY(20px);
}
.road-under-car {
  position: absolute;
  left: 0;
  top: 90px;
  width: 100vw;
  height: 28px;
  background:
    linear-gradient(#888 75%, #fff 100%),
    repeating-linear-gradient(90deg, #fff 0 14px, transparent 14px 36px);
  border-radius: 16px 16px 36px 36px/28px 28px 50px 50px;
  z-index: 1;
  box-shadow: 0 4px 18px #0002;
}
@keyframes carMoveLinear {
  0% { left: -400px; }
  100% { left: 100vw; }
}

/* =========================== */
/*    FORMULAIRE CONTACT       */
/* =========================== */
#contact-form-widget {
 
  color: #333;
  max-width: 940px;
  margin: 34px auto 20px auto;
  padding: 0 12px;
  box-sizing: border-box;
}
.transfer-form-container {
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 32px #0002;
  padding: 32px 24px;
}
.contact-header {
  text-align: center;
  margin-bottom: 22px;
}
.contact-header h2 {
  font-size: 2.1em;
  color: #2196f3;
  margin-bottom: 0.2em;
}
.contact-header p {
  color: #337;
}
.transfer-form .form-row {
  display: flex;
  gap: 18px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.transfer-form .form-group {
  flex: 1;
  min-width: 220px;
  position: relative;
  margin-bottom: 0;
}
.transfer-form label {
  display: block;
  margin-bottom: 7px;
  font-weight: 500;
  color: #116bbd;
  font-size: 1.07em;
}
.transfer-form input[type=&quot;text&quot;],
.transfer-form input[type=&quot;email&quot;],
.transfer-form input[type=&quot;tel&quot;],
.transfer-form input[type=&quot;number&quot;],
.transfer-form input[type=&quot;date&quot;],
.transfer-form input[type=&quot;time&quot;],
.transfer-form textarea {
  width: 100%;
  padding: 11px 12px 11px 38px;
  border: 1px solid #b5d2f7;
  border-radius: 7px;
  font-size: 1em;
  box-sizing: border-box;
  background: #f7fbff;
  color: #234;
  margin-bottom: 0;
  transition: border 0.2s;
}
.transfer-form textarea {
  min-height: 38px;
  resize: vertical;
}
.transfer-form input:focus,
.transfer-form textarea:focus {
  border-color: #2196f3;
  outline: none;
  box-shadow: 0 0 7px #90caf9a6;
}
.icon-input .fa {
  position: absolute;
  left: 12px;
  top: 41px;
  color: #2196f3;
  font-size: 1.12em;
  z-index: 1;
}
.checkbox-group {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
.checkbox-group input[type=&quot;checkbox&quot;] {
  margin-right: 10px;
  width: auto;
}
.btn-submit-container {
  display: flex;
  justify-content: flex-end;
  margin-top: 18px;
}
.btn-submit {
  background: linear-gradient(90deg, #2196f3 65%, #1de9b6 100%);
  color: #fff;
  padding: 15px 38px;
  border: none;
  border-radius: 7px;
  cursor: pointer;
  font-size: 1.17em;
  font-weight: bold;
  transition: background 0.3s;
  box-shadow: 0 2px 6px #2196f330;
}
.btn-submit:hover {
  background: linear-gradient(90deg, #1976d2 65%, #00bfae 100%);
}
#responseMessage {
  margin-top: 20px;
  padding: 15px;
  border-radius: 5px;
  font-weight: bold;
  display: none;
}
#responseMessage.success {
  background: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
#responseMessage.error {
  background: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
@media (max-width: 850px) {
  .transfer-form .form-row {
    flex-direction: column;
    gap: 0;
  }
  .transfer-form .form-group {
    width: 100%;
    min-width: unset;
  }
  .car-anim-container { height: 66px; }
  .car-anim-img { height: 36px; top: 4px; }
  .road-under-car { top: 44px; height: 18px; border-radius: 10px 10px 24px 24px/16px 16px 30px 30px; }
}
@media (max-width: 600px){
  .transfer-form-container {
    padding: 12px 4px;
    margin: 0;
  }
  .contact-header h2 {
    font-size: 1.4em;
  }
}

/* =========================== */
/*      NAVIGATION COMMUNE     */
/* =========================== */
.main-nav {
  background: #144673;
  width: 100%;
  margin: 0 auto;
  padding: 0.7rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.desktop-nav { display: none; }
@media screen and (min-width: 769px) {
  .desktop-nav {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  .menu.desktop-only {
    display: flex;
    flex-wrap: wrap;
    gap: 1px;
tansform: translateY(18px);
  }
  .menu.desktop-only li {
    list-style: none;
  }
  .menu.desktop-only li a {
    text-decoration: none;
    color: #fff;
    padding: 20px;
    border-radius: 5px;
    font-size: 1.1rem;
    font-weight: 500;
    transition: background .2s, color .2s;
  }
  .menu.desktop-only li a:hover {
    background-color: #0000FF22;
    color: #0000FF;
    text-decoration: underline;
    text-underline-offset: 4px;
  }
  .nav-brand {
    font-size: 22px;
    font-weight: bold;
    color: #0000FF;
    margin-left: 10px;
    letter-spacing: .5px;
  }
  .nav-brand-1 img {
    max-width: 190px;
    height: 70px;
  }
}
.language-selector-pro {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: 10px;
 margin-right: 40px;
}
.selected-language-pro {
  color: #fff;
  display: flex;
  align-items: center;
  font-weight: bold;
  gap: 6px;
  cursor: pointer;
  padding: 5px 8px;
  transition: background .2s;
  transform: translateX(-12px);   
}
.selected-language-pro:hover {
  background: #0000FF22;
}
.dropdown-menu-pro {
  position: absolute;
  top: 130%;
  right: 0;
  background: #fff;
  padding: 0.5rem;
  border-radius: 8px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.17);
  display: none;
  list-style: none;
  min-width: 120px;
 z-index: 999999 !important;
 transform: translateX(-30px);
}
.language-selector-pro.active .dropdown-menu-pro {
  display: block;
}
.dropdown-menu-pro li a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 0.4rem 0.6rem;
  border-radius: 4px;
  transition: background .2s;
}
.dropdown-menu-pro li a:hover {
  background: #f0f0f0;
}
.mobile-nav { display: none; }

/* =========================== */
/*      NAVIGATION MOBILE      */
/* =========================== */
@media (max-width: 768px) {
  body {
    background-color: #f4f4f4;
    color: #222;
   
  }
  #header {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
  #header img {
    width: 100%;
    height: 80px;
    object-fit: cover;
    object-position: center center;
    display: block;
  }
  #header::after {
    content: &quot;&quot;;
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1;
  }
  #header .content {
    position: relative;
    z-index: 2;
    padding: 1.2rem;
    color: white;
    text-align: center;
  }
  .desktop-nav {
    display: none !important;
  }
  .mobile-nav {
    display: flex;
    flex-direction: column;
    background: #144673;
    width: 100vw;
    position: relative;
    z-index: 20;
    padding: 0;
  }
  .mobile-header {
    display: flex;
    align-items: center;
    justify-content: 10px;
    padding: 0.7rem 5vw;
    background: #144673;
    width: 100%;
  }
  .mobile-brand {
    display: flex;
    align-items: center;
    gap: 0.7rem;
  }
  .brand-logo {
    max-width: 110px;
    height: 60px;
    transform: translateX(10px);
  }
  .brand-text {
    font-size: 20px;
    font-weight: bold;
    color: #F6C342;
    letter-spacing: 1px;
    margin-left: 2px;
    transform: translateX(3px);
  }
  .burger {
    background: none;
    border: none;
    font-size: 1.8rem;
    color: #fff;
    cursor: pointer;
    height: 30px;
    width: 25px;
    transform: translateY(-6px);
    transition: background 0.2s;
  }
  .burger:focus,
  .burger:active {
    background: #ffffff11;
  }
  .language-selector-pro {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .selected-language-pro {
    color: #fff;
    display: flex;
    align-items: center;
    font-weight: bold;
    gap: 6px;
    cursor: pointer;
    padding: 5px 8px;
    transition: background .2s;
    transform: translateX(10px);
  }
  .dropdown-menu-pro {
    right: 0;
    left: unset;
    min-width: 120px;
  }
  .mobile-menu {
    position: fixed;
    top: 0;
    left: -90vw;
    width: 82vw;
    max-width: 280px;
    height: 80vh;
    background: linear-gradient(to bottom, #2196f3 0%, #FFFFFF 100%);
    font-size: 22px;
    font-weight: bold;
    color: #333;
   font-family: 'Inter', 'Roboto', Arial, sans-serif;
    border-radius: 12px;
    box-shadow: 2px 0 16px rgba(0, 0, 0, 0.25);
    z-index: 101;
    padding-top: 2.2rem;
    display: flex;
    flex-direction: column;
    transition: left 0.28s cubic-bezier(.55, .06, .68, .19);
  }
  .mobile-menu.active {
    left: 0;
    transition: left 0.28s cubic-bezier(.32, 1.56, .67, .99);
  }
  .mobile-menu ul {
    list-style: none;
  
    padding: 0;
    display: flex;
    flex-direction: column;
  }
  .mobile-menu li a {
    color: #000;
    text-decoration: none;
    font-size: 1.2rem;
    font-weight: 600;
    padding: 0.9rem 10vw;
    display: block;
    border-radius: 11px;
    transition: background 0.2s, color 0.2s;
  }
  .mobile-menu li a:hover {
    background: #0000FF11;
    color: #144673;
  }
  .close-menu {
    background: none;
    border: none;
    color: #144673;
    font-size: 2rem;
    position: absolute;
    top: 1.2rem;
    right: 2rem;
    cursor: pointer;
    z-index: 110;
    padding: 2px 15px;
    border-radius: 4px;
    transition: background 0.2s;
  }
  .close-menu:focus,
  .close-menu:active {
    background: #0000FF11;
  }
  .mobile-overlay {
    display: none;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(2px);
    transition: opacity 0.2s;
  }
  .mobile-overlay.active {
    display: block;
    opacity: 1;
  }
}

/* =========================== */
/*        VARIABLES ROOT       */
/* =========================== */
/* === Encadrement global === */
.apropos-container {
  background: var(--bg);
  border: 1px solid #ff9800;
  border-top: 3px solid #ff9800;
  border-radius: 10px;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
  font-size: var(--fs-paragraphe);
  line-height: 1.6;
  color: #333;
  padding: 20px 1.5rem 40px;
  max-width: 1100px;
  margin: 0 auto 3.2em; /* ← deux sauts de ligne visuels */
  text-align: left;
  font-family: 'Lora', serif;
}


/* Titre principal centré au-dessus des colonnes */
.apropos-container > h1 {
  text-align: center;
  margin-bottom: 32px;
  font-size: 1.8rem;
  color: #003b95;
  font-weight: 700;
  margin-top: 70px;
}

/* === Colonnes côte à côte === */
.apropos-col {
  width: 50%;
  float: left;
  padding: 0 20px;
  box-sizing: border-box;
  text-align: left;
  position: relative;
}

/* Trait vertical entre colonnes */
.apropos-col:first-child::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 2px;
  height: 100%;
  background: #ff9800;
}

/* Titres et paragraphes dans colonnes */
.apropos-col h2, 
.apropos-col h3, 
.apropos-col h4 {
  color: #003b95;
  margin-top: 16px;
  margin-bottom: 12px;
  font-weight: 600;
}

.apropos-col p, 
.apropos-col ul {
  margin-bottom: 12px;
}
.apropos-cta {
  flex: 1 1 100%;
  text-align: center;
  padding: 40px 20px;
}
.apropos-cta h2 {
  font-size: 1.2em;
  margin-bottom: 10px;
  color: #003366;
}
.cta-btn {
  display: inline-block;
  background: #1670fb;
  color: #fff;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
}
.cta-btn:hover {
  background: #ffa500;
}

/* === Mobile ≤ 768px === */
@media (max-width: 768px) {
  .apropos-col {
    width: 100%; /* Colonnes empilées sur mobile */
    padding: 0;
  }

  /* Trait horizontal entre colonnes */
  .apropos-col:first-child::after {
    width: 100%;
    height: 2px;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
  }
   .apropos-cta h2 {
    font-size: 1.1em;
  }
 .cta-btn {
  display: inline-block;
  background: #1670fb;
  color: #fff;
  padding: 12px 28px;
  border-radius: 8px;
  text-decoration: none;
  font-weight: bold;
  text-align: center;
  margin: 0 auto;
}

.cta-btn:hover {
  background: #ffa500;
}

}


/* =========================== */
/*        POST BODY            */
/* =========================== */
@media (min-width: 769px) {
  .post-body {
    width: 90%;
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
  }
.top-header-date-icon.fa.fa-calendar-o {
  display: none !important;
}
}
@media (max-width: 768px) {
  .post-body {
    width: 97%;
    margin: 0 auto;
    box-sizing: border-box;
  }
.top-header-date-icon.fa.fa-calendar-o {
  display: none !important;
}
}

/* =========================== */
/*     HEADER  MENU DESKTOP   */
/* =========================== */
@media only screen and (min-width: 769px) {
  .top-header-date {
    color: #2e7d32;
    background-color: #ffffff;
    padding: 0px;
    border-radius: 0px;
    display: block;
  }
  .selectnav,
  #menu-toggle {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    position: absolute !important;
  }
  .tm-menu .menu.section ul {
    display: flex !important;
  }
}
@media only screen and (max-width: 768px) {
  .widget {
    line-height: 1.4;
    margin: 0px;
    _margin: 0px;
  }

  body {
  line-height: 1.6;
}
.post-body,
.post-body p,
.post-body a,
.post-body h1,
.post-body h2,
.post-body h3,
.post-body h4,
.post-body h5,
.post-body h6,
.post-body td,
.post-body th {
font-family: 'Book Antiqua', Palatino, serif !important;
}
.post-title {
  font-family: 'Book Antiqua', Palatino, serif !important;
}
/* 🌐 Base typographique */
html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  font-family: 'Book Antiqua', Palatino, serif !important;
  color: #222;
  background-color: #fff;
  line-height: 1.6;
  font-weight: 400;
  margin: 0;
  padding: 0;
}

/* 🖥️ Version desktop */

/* =========================== */
/*       DIVERS LAYOUT         */
/* =========================== */
html, body {
  touch-action: pan-y !important;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
}
@keyframes scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-60%); }
}
.post-body h1,
.post-body h2 {
  display: block !important;
}
#home-widgets .post-share-buttons,
.blog-pager .post-share-buttons {
  display: none !important;
}
.page-title,
.post-title,
h1 {
  
}
.post-body-widgets {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}
.widget1, .widget2 {
  width: 48%;
  padding: 0px;
  border: 1px solid #ccc;
  text-align: center;
}
#header-widget-container {
  display: block !important;
  position: relative;
  z-index: 1000;
  text-align: left;
}
h1.article-title,
h2.article-title,
h1.page-title,
h2.page-title {
  display: none !important;
}
#main-wrapper,
#content-wrapper {
  padding: 0 15px;
  box-sizing: border-box;
}
}

/* ===== tt.css ===== */

.services-section {
  background: linear-gradient(#a2dff7, #d0ebff, #f8faff, #a2dff7, #a2dff7, #00a4e4, #00a4e4, #0076c0, #e0cda9, #e0cda9, #e0cda9, #e0cda9, #e0cda9);
  margin: 0;
  padding: 30px;
  height: 500px;

}

.services-slider {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 40px;
  max-width: 1200px;
  margin: auto;
  overflow: visible;
}

.service-card {
  background: none;
  border: none;
  text-align: center;
  flex: 1 1 0;
  padding: 0 10px;
}

.service-icon,
.service-icon-1 {
  width: 82px;
  height: 82px;
  margin: 0 auto -2px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.service-title {
  font-weight: bold;
  font-size: 1.15em;
  margin: 22px 0;
  line-height: 1.2;
}

.service-desc {
  color: #444;
  font-size: 1em;
  margin-bottom: 10px;
  line-height: 1.45;
  text-align: center;
}

.service-1 {
  width: 250px;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
}

.service-2 {
  width: 18px;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
}

.service-3 {
  width: 18px;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
}

.service-4 {
  width: 18px;
  height: auto;
  object-fit: contain;
  display: block;
  margin: auto;
}

@media (max-width: 768px) {
  .services-slider {
    display: block;
    max-width: 100vw;
    position: relative;
    transform: translateY(200px);
    z-index: 1;
  }

  .service-card {
    width: 95vw;
    margin: 0 auto;
    display: none;
    opacity: 0;
    position: relative;
    z-index: 10;
  }

  .service-card.active {
    display: block;
    opacity: 1;
  }

  .service-title {
    font-weight: bold;
    margin: 32px;
    line-height: 1.2;
    text-align: center;
  }

  .service-desc {
    color: #444;
    font-size: 1em;
    margin-bottom: 10px;
    line-height: 1.45;
    text-align: center;
  }

  .service-icon,
  .service-icon-1 {
    width: 82px;
    height: 82px;
    margin: 0 auto -2px auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .service-1 {
    width: 270px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
    position: relative;
    transform: translateY(-70px);
  }

  .service-2 {
    width: 270px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
    position: relative;
    z-index: 9;
    transform: translateY(-77px);
  }

  .service-3 {
    width: 220px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
    position: relative;
    z-index: 9;
    transform: translateY(-190px);
  }

  .service-4 {
    width: 220px;
    height: auto;
    object-fit: contain;
    display: block;
    margin: auto;
    position: relative;
    z-index: 9999;
    transform: translateY(-140px);
  }

 .swipe-indicator {
    position: absolute;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 28px;
    background: url('data:image/svg+xml;utf8,<svg fill="%23222" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M8.12 4.71a1 1 0 0 1 1.41 0L16 11.17l-6.47 6.46a1 1 0 0 1-1.41-1.41L13.17 12 8.12 6.12a1 1 0 0 1 0-1.41z"/></svg>') no-repeat center;
    background-size: contain;
    opacity: 0.4;
    animation: swipeHint 1.5s infinite ease-in-out;
    z-index: 5;
  }
 @keyframes swipeHint {
    0% { transform: translateX(-50%) translateX(0); opacity: 0.4; }
    50% { transform: translateX(-50%) translateX(10px); opacity: 0.8; }
    100% { transform: translateX(-50%) translateX(0); opacity: 0.4; }
  }
 h1 {
    display: block;
    font-size: 1.4em;
    margin-block-start: 0.67em;
    margin-block-end: 0.67em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: bold;
    unicode-bidi: isolate;
    text-align: left;
}
}

@media (min-width: 769px) {
.services-slider {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  align-items: center;
    gap: 40px;
 
    margin-left: auto;
    margin-right: auto;

  transform: translateY(190px);
  }
  .service-card {
    display: block !important;
    opacity: 1 !important;
    background: none;
    padding: 0 10px;
     
  }

  .service-card {
    display: block !important;
    opacity: 1 !important;
    background: none;
    padding: 0 10px;
  }

  .service-1 {
    width: 200px;
    transform: translateY(-34px);
  }

  .service-2 {
    width: 230px;
    transform: translateY(-48px);
  }

  .service-3 {
    width: 120px;
    transform: translateY(-56px);
  }

  .service-4 {
    width: 140px;
    transform: translateY(-40px);
  }
}
@media screen and (min-width: 769px) {
.hero-text-diaporama {
  background: var(--bg);
  border: 1px solid #ddd;
  border-radius: 10px;
  border-top: 3px solid #003b95;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
  font-size: var(--fs-paragraphe);
  line-height: 1.55;
  color: #333;
  padding: 0.8rem;
  width: 1200px;
  margin: 0 auto 16px;
  text-align: center;
}
}
@media screen and (max-width: 768px) {
  .hero-text-diaporama {
  background: var(--bg);
  border: 1px solid #ddd;
  border-radius: 10px;
  border-top: 3px solid #003b95;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
  font-size: var(--fs-paragraphe);
  line-height: 1.55;
  color: #333;
  padding: 0.8rem;
  width: 100%;
  margin: 0 auto 16px;
  text-align: left;
}
} 
.why-choose-us-simple {
  padding: 0;
  background: #ffffff;
  margin: 40px 0;
  
  font-family: Book Antiqua, Palatino, serif;
  line-height: 1.6;
  font-weight: 400;
}

.why-choose-us-simple h2 {
  text-align: center;
  margin-bottom: 40px;
  color: #1f1f1f;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 25px;
  max-width: 1200px;
  margin: 0 auto;
}

.feature {
  padding: 25px;
  background: white;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.08);
  transition: transform 0.3s;
}

.feature:hover {
  transform: translateY(-5px);
}

.feature-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}

.feature-icon {

  flex-shrink: 0;
}

.feature h3 {
  margin: 0;
  font-size: 1.3rem;
  color: blue;
  text-align: center;
}

.feature p {
  margin: 0;
  line-height: 1.5;
  color: #1e1f20;
  font-size: 1.05rem;
  text-align: left; 
}

/* ===== bar-social.css ===== */
@keyframes shadow-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2);
  }
  100% {
    box-shadow: 0 0 0 35px rgba(0, 0, 0, 0);
  }
}

@keyframes shadow-pulse-big {
  0% {
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.1);
  }
  100% {
    box-shadow: 0 0 0 70px rgba(0, 0, 0, 0);
  }
}

.notif-whatsapp {
  background: #1ee62e;
  height: 50px;
  width: 50px;
  position: fixed;
  bottom: 50px;
  right: 0.88em;
  border-radius: 50%;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
  text-align: center;
  cursor: pointer;
  animation: shadow-pulse 1s infinite;
  z-index: 99999999 !important;
}

.notif-whatsapp .icon {
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  cursor: pointer;
}

.fa_custom {
  color: #fff;
}

@media (min-width: 769px) {
  :root {
    --zoom-ratio: 1;
    --base-font: 16px;
    --base-nav-width: 1100px;
    --base-nav-font: 18px;
    --base-brand-font: 22px;
    --base-logo-width: 190px;
    --base-logo-height: 70px;
  }

  nav,
  .menu-classic {
    width: calc(var(--base-nav-width) * var(--zoom-ratio));
    font-size: calc(var(--base-nav-font) * var(--zoom-ratio));
    margin: auto;
    transition: 0.3s;
  }

  .nav-brand {
    font-size: calc(var(--base-brand-font) * var(--zoom-ratio));
    margin-left: calc(10px * var(--zoom-ratio));
    letter-spacing: calc(0.5px * var(--zoom-ratio));
  }

  .nav-brand-1 img {
    max-width: calc(var(--base-logo-width) * var(--zoom-ratio));
    height: calc(var(--base-logo-height) * var(--zoom-ratio));
    transform: translateX(30px);
  }

  .selected-language-pro {
    font-size: calc(16px * var(--zoom-ratio));
    padding: calc(5px * var(--zoom-ratio)) calc(8px * var(--zoom-ratio));
    transform: translateX(calc(-20px * var(--zoom-ratio)));
    gap: calc(6px * var(--zoom-ratio));
  }

  .dropdown-menu-pro li a {
    font-size: calc(15px * var(--zoom-ratio));
    padding: calc(6px * var(--zoom-ratio)) calc(10px * var(--zoom-ratio));
    gap: calc(6px * var(--zoom-ratio));
  }

  .menu.desktop-only {
    gap: calc(1px * var(--zoom-ratio));
   transform: translateY(18px);
  }

  .menu.desktop-only li a {
    padding: calc(20px * var(--zoom-ratio));
    font-size: calc(18px * var(--zoom-ratio));
    text-underline-offset: calc(4px * var(--zoom-ratio));
    border-radius: calc(5px * var(--zoom-ratio));
  }

  .selected-language-pro img,
  .dropdown-menu-pro img {
    width: calc(24px * var(--zoom-ratio));
    height: auto;
    display: inline-block;
  }
}

.top-bar-social {
  padding: 5px 0;
  margin-left: 20px;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px;
}

.top-bar-social ul#social {
  display: flex !important;
  align-items: center !important;
  padding: 0;
  margin: 0;
  list-style: none;
  text-align: left;
}

.top-bar-social ul#social li {
  display: inline-block;
  margin-right: 5px;
}

.top-bar-social #social a {
  display: inline-block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-decoration: none;
  transition: 0.3s;
  text-align: center;
  overflow: hidden;
  text-indent: -9999px;
  white-space: nowrap;
  position: relative;
  box-sizing: border-box;
}

.top-bar-social a:before {
  display: block;
  font-family: FontAwesome;
  font-size: 22px;
  line-height: 1;
  font-style: normal;
  font-weight: normal;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: inherit;
  text-indent: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top-bar-social #social a.facebook {
  color: #3b5998;
}

.top-bar-social #social a.facebook:before {
  content: "\f09a";
}

.top-bar-social #social a.twitter {
  color: #00aced;
}

.top-bar-social #social a.twitter:before {
  content: "\f099";
}

.top-bar-social #social a.rss {
  color: #f26522;
}

.top-bar-social #social a.rss:before {
  content: "\f09e";
}

.top-bar-social #social a.linkedin {
  color: #0077b5;
}

.top-bar-social #social a.linkedin:before {
  content: "\f0e1";
}

.top-bar-social #social a.behance {
  color: #1769ff;
}

.top-bar-social #social a.behance:before {
  content: "\f1b4";
}

.top-bar-social #social a.instagram {
  color: #c13584;
}

.top-bar-social #social a.instagram:before {
  content: "\f16d";
}

.top-bar-social #social a.pinterest {
  color: #bd081c;
}

.top-bar-social #social a.pinterest:before {
  content: "\f0d2";
}

.top-bar-social #social a.whatsapp {
  color: #25D366;
}

.top-bar-social #social a.whatsapp:before {
  content: "\f232";
}

.top-bar-social #social a:hover {
  opacity: 0.8;
}

details {
  position: absolute;
  top: -100px;
  left: 100px;
  z-index: -999999;
}

.image-carthage {
  margin: 10px auto;
  padding: 0;
  display: block;
  height: auto;
  object-fit: cover;
  border: none;
}

.carthage-ruine {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
}

.apropos-header-1 {
  text-align: center;
  padding: 20px;
}

.image-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 20px auto;
  max-width: 100%;
  overflow: hidden;
  padding: 10px;
}

.img-tunisie {
  width: 100%;
  height: auto;
  object-fit: cover;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.img-tunisie:hover {
  transform: scale(1.02);
}

@media screen and (max-width: 768px) {
  .image-transfert {
    width: 100px;
    height: 80px;
    transform: translate(-10px, 10px);
  }

  .image-carthage {
    width: 98%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  }


  .apropos-texte-1 {
    text-align: left;
  }

  .image-container {
    padding: 5px;
  }

  .img-tunisie {
    width: 95%;
    height: auto;
  }
}

@media screen and (min-width: 769px) {
  .image-transfert {
    width: 200px;
    height: 160px;
    transform: translate(-10px, 40px);
  }

  .image-carthage {
    width: 97%;
    height: 350px;
    border-radius: 8px;
  .apropos-header-1,
 
  .img-tunisie {
    max-width: 600px;
    height: auto;
  }

  .center-flex {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
}
}

/* ===== home.css ===== */

.galerie-titre-item { 
  font-size: 18px;
  font-weight: 600;
  color: #003366;
  margin-top: 10px;
  margin-bottom: 6px;
  text-align: center;
  letter-spacing: 0.5px;
}

.galerie-section {
  padding: 40px 20px;
  font-family: 'Book Antiqua', Palatino, serif !important;
  text-align: center;
  background-color: #fff;
}

.galerie-titre {
  font-size: 28px;
 margin-bottom: 30px;
  color: #333;
  letter-spacing: 1px;
}

.galerie-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 20px;
  justify-content: center;
  align-items: stretch;
}

.galerie-item {
  position: relative;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-color: #fff;
}

.galerie-item:hover {
  transform: scale(1.02);
  box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

.galerie-item img {
  width: 100%;          /* toujours prendre toute la largeur du conteneur */
  height: 200px;        /* hauteur fixe identique pour toutes les images */
  display: block;
  object-fit: cover;    /* recadre l'image pour remplir le conteneur sans déformation */
  border-radius: 6px;   /* optionnel : coins arrondis */
}
@media (min-width: 769px) {

.galerie-overlay {
  position: absolute;
  bottom: 100%; 
  left: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.85);
  color: #fff;
  padding: 12px 20px;
  font-size: 15px;
  text-align: left;
  line-height: 1.5;
  opacity: 0;
  transition: opacity 0.4s ease, transform 0.4s ease;
  pointer-events: none;
  box-sizing: border-box;
  transform: translateY(10px);
  z-index: 999;
}

.galerie-item:hover .galerie-overlay {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

 .galerie-titre {
  font-size: 30px;
 margin-bottom: 30px;
  color: #0d6efd;
  letter-spacing: 1px;
}
}
@media (max-width: 768px) {
    .galerie-section {
    transform: translateY(0px);
  }
  .galerie-grid {
    grid-template-columns: 1fr;
  }

  .galerie-item {
    width: 100%;
    margin: 0 auto;
  }


  .galerie-overlay {
    display: none;
  }
  
  .galerie-titre {
  font-size: 22px;
 margin-bottom: 30px;
  color: #0d6efd;
  letter-spacing: 1px;
}

}
.transfert-banner.only-home {
  background-image: url('https://tunisietransfert.com/images/tunis_carthage.jpg');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;


}
.transfert-form {
  transform: translateY(20px);
}

.bloc-recherche {
  max-width: 100%;
  padding: 40px 20px;
  text-align: center;
font-family: 'Book Antiqua', Palatino, serif !important;
}

.barre-recherche {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  gap: 10px;
  background: #fff;
  padding: 12px;
  border-radius: 15px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.barre-recherche input {
  flex: 1;
  padding: 10px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 15px;
  background-color: #fff;
}

.barre-recherche button {
  padding: 10px 20px;
  background: #169b60;
  color: white;
  border: none;
  border-radius: 15px;
  font-weight: bold;
  cursor: pointer;
}

.dropdown-gouvernorats {
  display: none;
  margin-top: 20px;
  background: #f9f9f9;
  padding: 20px;
  border-radius: 15px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
}

.dropdown-gouvernorats.visible {
  display: block;
}

.dropdown-gouvernorats ul {
  list-style: none;
  padding: 0;
  margin: 0;
  columns: 3;
}

.dropdown-gouvernorats li {
  padding: 8px;
  font-size: 16px;
  text-align: left;
  color: #444;
  border-bottom: 1px solid #eee;
  cursor: pointer;
}

.dropdown-gouvernorats li:hover {
  background: #f0f0f0;
}

.dropdown-gouvernorats .voir-tout-btn {
  margin-top: 20px;
  display: inline-block;
  padding: 10px 20px;
  background: #169b60;
  color: white;
  border: none;
  border-radius: 15px;
  font-weight: bold;
  cursor: pointer;
}

/* Responsive */
@media (max-width: 768px) {
  .barre-recherche {
    flex-direction: column;
  }

  .barre-recherche button {
    width: 100%;
  }

  .dropdown-gouvernorats ul {
    columns: 1;
  }
}
#destinationList a {
  color: #0000EE; 
  text-decoration: none;
  transition: color 0.2s ease;
}

#destinationList a:hover {
  color: #003366;
}
.dropdown-gouvernorats {
  text-align: center;
}

/* ===== page_global.css ===== */
/* === Bloc global === */
.page-global-block {
  background: var(--bg);
  border: 1px solid #ff9800;
  border-top: 3px solid #ff9800;
  border-radius: 10px;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
  font-size: var(--fs-paragraphe);
  line-height: 1.6;
  color: #333;
  padding: 1rem 1.5rem;
  max-width: 1100px;
  margin: 0 auto 16px;
  text-align: left;
  font-family: 'Lora', serif;
}

strong {
  font-weight: bolder;
  color: #003b95;
}

/* === Titres principaux === */
.page-global-block h2 {
  font-size: 1.2rem;
  text-align: center;
  color: #003b95;
  margin: 12px 0 24px;
  font-family: 'Lora', serif;
}

.page-global-block .lieu h2,
.page-global-block .lieu-intro h2 {
  font-size: 1.1rem;
  color: #003b95;
  font-weight: 600;
}

.page-global-block .lieu h3,
.page-global-block .lieu-intro h3 {
  font-size: 1.1rem;
  color: #003b95;
  font-weight: 600;
}

.page-global-block .lieu h4,
.page-global-block .lieu-intro h4 {
  font-size: 1.1rem;
  color: #003b95;
  font-weight: 600;
}

.page-global-block .lieu h5,
.page-global-block .lieu-intro h5 {
  font-size: 1.1rem;
  color: #003b95;
  font-weight: 600;
}

.page-global-block .lieu h6,
.page-global-block .lieu-intro h6 {
  font-size: 1.1rem;
  color: #003b95;
  font-weight: 600;
}

/* === Bloc Intro, Lieu & Contact === */
.page-global-block .lieu-intro,
.page-global-block .lieu {
  border: 1px solid #003b95;
  border-radius: 8px;
  background: #fff;
  padding: 20px;
  margin-bottom: 24px;
  line-height: 1.7;
}

.page-global-block .lieu-contact {
  border: 1px solid #003b95;
  border-radius: 8px;
  background: #fff;
  padding: 14px;
  margin-bottom: 24px;
}

/* Espace entre paragraphes identique pour lieu et lieu-intro */
.page-global-block .lieu p,
.page-global-block .lieu-intro p {
  margin-bottom: 12px;
}

/* === Desktop ≥ 1025px (Contact uniquement en grille, lieu et lieu-intro restent des blocs normaux) === */
@media (min-width: 1025px) {
  .page-global-block .lieu-contact {
    display: grid;
    grid-template-columns: 70% 30%;
    gap: 20px;
    align-items: center;
  }
}

/* === Tablette (769px à 1024px) === */
@media (min-width: 769px) and (max-width: 1024px) {
  .page-global-block {
    padding: 1rem;
    max-width: 95%;
  }

  .page-global-block .lieu-contact {
    display: grid;
    grid-template-columns: 65% 35%;
    gap: 16px;
    align-items: center;
  }
}

/* === Mobile ≤ 768px === */
@media (max-width: 768px) {
  .page-global-block {
    padding: 0.8rem;
    max-width: 98%;
  }

  .page-global-block .lieu-contact {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }
}

.reviews-section {
  padding: 30px 20px;
  background: #ffffff;
  border-radius: 0px;
  border-top: 4px solid #e60000;
}

.reviews-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 25px;
}

.reviews-title {
  font-size: 1.8rem;
  color: #222;
  margin: 0;
}

.google-business-logo {
  height: auto;
  width: 100px;
  margin-right: 20px;
}

.reviews-container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 15px;
}

.review {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 15px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.review p {
  margin: 0 0 8px;
  color: #444;
  font-size: 1rem;
  line-height: 1.4;
}

.review-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #eee;
  padding-top: 8px;
}

.stars {
  color: #f4b400;
  font-size: 1.1rem;
}

.author {
  font-size: 0.9rem;
  color: #777;
  font-weight: bold;
  margin: 0;
}

.review-cta {
  text-align: center;
  margin-top: 25px;
}

.review-button {
  display: inline-block;
  background: #4285F4;
  color: #fff;
  padding: 12px 20px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s ease;
}

@media (min-width: 769px) {
  .p-title {
    text-align: left;
    font-size: 1.1rem;
    transform: translateY(20px);
  }  
  
  .reviews-title {
    font-size: 1.4rem;
    text-align: left;
  }

  .google-business-logo { 
    width: 200px;    
    margin-right: 80px;
  }

  .Call-to-action {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
  }

  .Call-to-action-title {
    width: 100%; 
    font-size: 1.8rem;
    color: #222;
    margin-bottom: 15px; 
  }

  .Call-to-action.P {
    flex: 1; 
    background: #fff;
    border: 1px solid #ff9800;
    border-radius: 6px;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    margin-right: 20px; 
    max-width: 70%;
  }

  .review-cta {
    width: 250px; 
    flex-shrink: 0; 
    margin-right: 80px;
    transform: translateY(-23px);
  }
}

@media (max-width: 768px) {
  .p-title {
    text-align: left;
  }

  .reviews-title {
    font-size: 1.4rem;
    text-align: left;
  }

  .google-business-logo { 
    width: 170px; 
  }

  .Call-to-action-title {
    font-size: 1.8rem;
    color: #222;
    margin: 0;
  }

  .Call-to-action P {
    background: #fff;
    border: 1px solid #ff9800;
    border-radius: 6px;
    padding: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
    transform: translateY(20px);
  }

  .review-cta {
    height: auto;
    transform: translateY(20px);
  }
}

/* ===== footer-en.css ===== */

.route-toggle {
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}
.route-overlay {
  display:none;
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.88);
  z-index:9999;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.route-toggle:checked+.route-overlay {
  display:flex;
}
.route-panel {
  background:#0b0b0b;
  border:1px solid #292929;
  border-top:3px solid #e60000;
  border-radius:6px;
  max-width:900px;
  width:100%;
  max-height:85vh;
  overflow-y:auto;
  padding:26px 28px;
  position:relative;
  box-sizing:border-box;
}
.route-panel h3 {
  margin:0 0 18px;
  color:#fff;
  font-size:17px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
  border-bottom:2px solid #e60000;
  padding-bottom:10px;
}
.route-close {
  display:none;
  position:absolute;
  top:16px;
  right:18px;
  color:#777;
  font-size:26px;
  text-decoration:none;
  cursor:pointer;
  line-height:1;
  padding:4px 8px;
}
.route-toggle:checked+.route-overlay .route-close {
  display:block;
}
.route-close:hover {
  color:#e60000;
}
.route-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px 24px;
}
.route-grid a {
  display:block;
  padding:7px 0;
  color:#aaa;
  font-size:13px;
  border-bottom:1px solid #1a1a1a;
}
.route-grid a:hover {
  color:#fff;
}
.route-viewall {
  display:inline-block;
  margin-top:18px;
  color:#e60000;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.5px;
}
.route-viewall:hover {
  color:#fff;
}

.footer-routes-btn:hover {
  border-color:#e60000;
  color:#fff;
}
.footer-routes-btn i {
  color:#e60000;
  margin-right:8px;
}
@media (min-width:769px) {
  footer.footer-tt {
    background:#000;
    color:#fff;
    font-family:"Segoe UI",Arial,sans-serif;
    border-top:3px solid #e60000;
  }
  .footer-tt .container {
    width:100%;
    max-width:1280px;
    margin:0 auto;
    padding:48px 20px 0;
    box-sizing:border-box;
  }
  .footer-tt .row {
    display:grid;
    grid-template-columns:1.25fr 1.35fr 1.1fr .85fr 1.15fr;
    gap:24px;
    align-items:start;
  }
  .footer-col {
    min-width:0;
  }
  .footer-tt h4 {
    display:block;
    width:fit-content;
    margin:0 0 18px;
    padding-bottom:8px;
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.3px;
    white-space:nowrap;
    border-bottom:2px solid #e60000;
  }
  .footer-tt h4::after {
    display:none;
  }
  .footer-col ul {
    list-style:none;
    padding:0;
    margin:0;
  }
  .footer-col li {
    margin:8px 0;
    padding:0;
  }
  .footer-tt a {
    color:#aaa;
    font-size:14px;
    line-height:1.5;
    text-decoration:none;
    transition:color .25s ease;
  }
  .footer-tt a:hover {
    color:#fff;
    text-decoration:underline;
    text-decoration-color:#e60000;
    text-underline-offset:3px;
  }
  .footer-col-brand {
    display:flex;
    flex-direction:column;
    align-items:center;
    text-align:center;
  }
  .footer-logo-wrapper {
    padding:0;
    text-align:center;
  }
  .footer-logo {
    display:block;
    width:100%;
    max-width:200px;
    height:auto;
    margin:0 auto 12px;
  }
  .footer-slogan {
    max-width:240px;
    margin:0 auto;
    color:#999;
    font-size:13px;
    line-height:1.6;
    text-align:center;
  }
  .footer-tt .footer-socials {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    margin-top:18px;
  }
  .footer-tt .footer-socials a {
    width:42px;
    height:42px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#111;
    border:1px solid #292929;
    border-radius:50%;
    color:#aaa;
    text-decoration:none;
    transition:all .25s ease;
  }
  .footer-tt .footer-socials a:hover {
    background:#e60000;
    border-color:#e60000;
    color:#fff;
    transform:translateY(-2px);
  }
  .footer-tt .footer-socials i {
    font-size:19px;
    line-height:1;
  }
  .footer-payment {
    margin-top:38px;
    padding:21px 0;
    border-top:1px solid #222;
    border-bottom:1px solid #222;
    text-align:center;
  }
  .footer-payment-title {
    margin-bottom:12px;
    color:#777;
    font-size:10px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:1px;
  }
  .footer-icons {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:12px;
  }
  .footer-icons img {
    display:block;
    width:auto;
    height:34px;
    opacity:.9;
  }
  .footer-official-notice {
    max-width:850px;
    margin:20px auto 0;
    padding:15px 20px;
    background:#0b0b0b;
    border:1px solid #282828;
    border-left:3px solid #e60000;
    border-radius:3px;
    text-align:center;
    box-sizing:border-box;
  }
  .footer-notice-title {
    display:inline-block;
    margin-bottom:6px;
    padding-bottom:5px;
    color:#e60000;
    font-size:12px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:1px;
    border-bottom:1px solid #e60000;
  }
  .footer-official-notice p {
    margin:4px 0;
    color:#777;
    font-size:12px;
    line-height:1.55;
  }
  .footer-official-notice a {
    display:inline;
    color:#fff;
    font-size:inherit;
    font-weight:600;
  }
  .footer-official-notice a:hover {
    color:#e60000;
  }
  .footer-notice-text {
    color:#666 !important;
  }
  .footer-bottom {
    margin-top:20px;
    padding:17px 10px 20px;
    background:#111;
    border-top:1px solid #222;
    text-align:center;
  }
  .footer-copyright {
    color:#777;
    font-size:12px;
    line-height:1.6;
  }
  .footer-separator {
    margin:0 7px;
    color:#444;
  }
 .footer-routes-btn {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 8px auto;
  box-sizing: border-box;
  padding: 10px 12px;
  background: #111;
  border: 1px solid #292929;
  border-radius: 4px;
  color: #ddd;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
  transition: all .2s ease;
}
}
@media (max-width:768px) {
  footer.footer-tt {
    background:#000;
    color:#fff;
    font-family:"Segoe UI",Arial,sans-serif;
    border-top:3px solid #e60000;
    text-align:center;
  }
  .footer-tt .container {
    width:100%;
    padding:28px 14px 0;
    box-sizing:border-box;
  }
  .footer-tt .row {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:0;
  }
  .footer-col {
    width:100%;
    min-width:0;
    padding:12px 0 18px;
  }
  .footer-tt h4 {
    display:inline-block;
    width:fit-content;
    margin:10px 0 13px;
    padding-bottom:7px;
    color:#fff;
    font-size:14px;
    font-weight:700;
    line-height:1.3;
    text-transform:uppercase;
    letter-spacing:.5px;
    border-bottom:2px solid #e60000;
  }
  .footer-tt h4::after {
    display:none;
  }
  .footer-col ul {
    list-style:none;
    padding:0;
    margin:0;
  }
  .footer-col li {
    margin:5px 0;
    padding:0;
  }
  .footer-tt a {
    color:#aaa;
    font-size:13px;
    line-height:1.4;
    text-decoration:none;
  }
  .footer-tt a:hover {
    color:#fff;
    text-decoration:underline;
    text-decoration-color:#e60000;
    text-underline-offset:3px;
  }
  .footer-logo-wrapper {
    text-align:center;
  }
  .footer-logo {
    display:block;
    width:100%;
    max-width:220px;
    height:auto;
    margin:0 auto 8px;
  }
  .footer-slogan {
    max-width:250px;
    margin:0 auto;
    color:#999;
    font-size:12px;
    line-height:1.5;
  }
  .footer-tt .footer-socials {
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:14px;
  }
  .footer-tt .footer-socials a {
    width:44px;
    height:44px;
    margin:0;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#111;
    border:1px solid #292929;
    border-radius:50%;
    color:#aaa;
    text-decoration:none;
    transition:all .25s ease;
  }
  .footer-tt .footer-socials a:hover {
    background:#e60000;
    border-color:#e60000;
    color:#fff;
  }
  .footer-tt .footer-socials i {
    font-size:19px;
    line-height:1;
  }
  
 .footer-routes-btn {
  display: block;
  width: 80%;
  max-width: 70%;
  margin: 8px auto;
  box-sizing: border-box;
  padding: 10px 12px;
  background: #111;
  border: 1px solid #292929;
  border-radius: 4px;
  color: #ddd;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: all .2s ease;
}
  .route-grid {
    grid-template-columns:1fr;
    gap:4px;
  }
  .route-panel {
    padding:20px 18px;
    max-height:80vh;
  }
  .route-panel h3 {
    font-size:15px;
  }
  .footer-payment {
    margin-top:8px;
    padding:16px 0;
    border-top:1px solid #222;
    border-bottom:1px solid #222;
    text-align:center;
  }
  .footer-payment-title {
    margin-bottom:10px;
    color:#777;
    font-size:9px;
    font-weight:500;
    text-transform:uppercase;
    letter-spacing:.9px;
  }
  .footer-icons {
    display:flex;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
    gap:9px;
  }
  .footer-icons img {
    display:block;
    width:auto;
    height:28px;
    opacity:.9;
  }
  .footer-official-notice {
    max-width:100%;
    margin:16px 3px 0;
    padding:13px 10px;
    background:#0b0b0b;
    border:1px solid #282828;
    border-left:3px solid #e60000;
    border-radius:3px;
    text-align:center;
    box-sizing:border-box;
  }
  .footer-notice-title {
    display:inline-block;
    margin-bottom:5px;
    padding-bottom:4px;
    color:#e60000;
    font-size:11px;
    font-weight:700;
    text-transform:uppercase;
    letter-spacing:.8px;
    border-bottom:1px solid #e60000;
  }
  .footer-official-notice p {
    margin:3px 0;
    color:#777;
    font-size:10px;
    line-height:1.45;
  }
  .footer-official-notice a {
    display:inline;
    color:#fff;
    font-size:inherit;
    font-weight:600;
  }
  .footer-notice-text {
    color:#666 !important;
  }
  .footer-bottom {
    margin-top:16px;
    padding:13px 8px 16px;
    background:#111;
    border-top:1px solid #222;
    text-align:center;
  }
  .footer-copyright {
    color:#777;
    font-size:10px;
    line-height:1.5;
  }
  .footer-separator {
    display:none;
  }
}
.faq-section {
  background:#fff;
  padding:50px 20px;
}

.faq-section .container {
  max-width:900px;
  margin:0 auto;
}

.faq-section h2 {
  text-align:center;
  margin:0 0 30px;
  color:#1a1a1a;
  font-size:26px;
  font-weight:700;
}

.faq-list {
  display:flex;
  flex-direction:column;
  gap:10px;
}

.faq-toggle {
  position:absolute;
  opacity:0;
  width:0;
  height:0;
  pointer-events:none;
}

.faq-item {
  border:1px solid #e2e2e2;
  border-radius:6px;
  overflow:hidden;
}

.faq-question {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:16px 20px;
  background:#f9f9f9;
  color:#1a1a1a;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:background .2s ease;
}

.faq-question:hover {
  background:#f1f1f1;
}

.faq-icon {
  flex-shrink:0;
  margin-left:14px;
  width:24px;
  height:24px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:#e60000;
  color:#fff;
  font-size:16px;
  line-height:1;
  transition:transform .25s ease;
}

.faq-answer {
  display:none;
  padding:0 20px 18px;
  background:#f9f9f9;
}

.faq-answer p {
  margin:0;
  color:#555;
  font-size:14px;
  line-height:1.6;
}

.faq-toggle:checked + .faq-item .faq-answer {
  display:block;
}

.faq-toggle:checked + .faq-item .faq-icon {
  transform:rotate(45deg);
}

.faq-toggle:checked + .faq-item .faq-question {
  background:#f1f1f1;
}

@media (max-width:768px) {
  .faq-section {
    padding:36px 14px;
  }

  .faq-section h2 {
    font-size:21px;
    margin-bottom:20px;
  }

  .faq-question {
    padding:13px 14px;
    font-size:13.5px;
  }

  .faq-answer {
    padding:0 14px 14px;
  }

  .faq-answer p {
    font-size:13px;
  }
}

/* ===== from.css ===== */

/* VARIABLES GLOBALES */
:root {
    --primary-blue: #0d6efd;
    --secondary-orange: #ff9800;
    --dark-text: #333;
    --light-text: #6c757d;
    --border-color: #ced4da;
    --background-light: #fff;
    --background-overlay: rgba(255, 255, 255, 0.95);
}

/* Reset */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body, html {
    font-family: 'Book Antiqua', serif;
    height: 100%;
    overflow-x: hidden;
}

/* Container principal */
.hero-container {
    position: relative;
    width: 100%;
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
}

.slideshow-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.slideshow-background img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0;
    transition: opacity 1.5s ease-in-out;
}

.slideshow-background img.active {
    opacity: 1;
}

.main-content-wrapper {
    position: relative;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

/* Version PC */
@media (min-width: 769px) {
    .main-content-wrapper {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    .hero-text-and-buttons {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        max-width: 400px;
    }
    .hero-text {
        margin-bottom: 1.5rem;
        margin-left: 30px;
        font-size: 12px;
        color: #333;
        transform: translateY(-120px);
    }
    .buttons-desktop {
        display: flex;
        gap: 10px;
    }
    .buttons-mobile {
        display: none;
    }
    #reservation-container {
        background: var(--background-overlay);
        border-radius: 12px;
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
        padding: 1.5rem;
        width: 100%;
        max-width: 350px; /* 🔹 plus étroit */
    }
}

/* Version mobile */
@media (max-width: 768px) {
    .hero-container {
        align-items: flex-end;
        padding: 0;
    }
    .hero-text {
        margin-bottom: 1.5rem;
        margin-left: 20px;
        font-size: 15px;
        color: #333;
        
       text-align: left;
    }
    .main-content-wrapper {
        flex-direction: column;
        padding: 1rem;
        width: 100%;
    }
    .hero-text-and-buttons {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        width: 100%;
        order: 1;
    }
    .buttons-desktop {
        display: none;
    }
    .buttons-mobile {
        display: flex;
        justify-content: center;
        width: 100%;
        gap: 10px;
        margin-top: 1.5rem;
        margin-bottom: 1.5rem;
        order: 3;
    }
    #reservation-container {
        order: 2;
        width: 100%;
        padding: 1.2rem;
        max-width: 100%;
        background: var(--background-overlay);
        border-radius: 12px;
        box-shadow: 0 6px 20px rgba(0,0,0,0.12);
        transform: translateY(50px);
    }

    /* ✅ Amélioration lisibilité mobile */
    .form-group label {
        font-size: 0.7rem;
    }
    .form-group select,
    .form-group input {
        font-size: 0.7rem;
        padding: 0.8rem 1rem;
    }
    #search-button {
        font-size: 0.7rem;
        width: 130px;
        padding: 0.8rem;
        margin-right: 0;
    }
}

/* Titre du formulaire */
#reservation-container h2 {
    color: var(--primary-blue);
    font-size: 20px;
    margin-bottom: 1rem;
    text-align: center;
}

/* Toggle transfert */
.transfer-type-toggle {
    display: flex;
    justify-content: center;
    margin-bottom: 1rem;
    background-color: #f0f0f0;
    border-radius: 8px;
    padding: 4px;
}

.transfer-type-toggle button {
    flex: 1;
    padding: 0.6rem 0;
    border: none;
    background: transparent;
    color: var(--dark-text);
    font-weight: 600;
    cursor: pointer;
    border-radius: 6px;
    transition: all 0.2s ease-out;
}

.transfer-type-toggle button.active {
    background-color: var(--background-light);
    color: var(--primary-blue);
    box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}

.form-group {
    margin-bottom: 0.8rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.4rem;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--dark-text);
    font-size: 0.8rem;
}

.form-group select,
.form-group input {
    width: 100%;
    padding: 0.6rem 0.9rem;
    border: 1px solid var(--border-color);
    border-radius: 8px;
    font-size: 0.95rem;
    color: var(--dark-text);
    background: var(--background-light);
}

/* ✅ Réduit la font du menu déroulant (Android seulement) */
.form-group option,
.form-group optgroup {
    font-size: 0.8rem;
}

/* Dropdown vers le bas */
.form-group select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="%236c757d"><path d="M7 10l5 5 5-5z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 18px;
}

/* ✅ Hack pour mettre les cercles à droite sur Android */
@media (max-width: 768px) {
    .form-group select {
        direction: rtl;   /* inverse tout (cercle + texte) */
        text-align: left; /* remet juste le texte à gauche */
    }
}

#search-button-container {
    display: flex;
    justify-content: center;
    margin-top: 1.2rem;
}

#search-button {
    width: 140px;
    padding: 0.8rem;
    border: none;
    border-radius: 8px;
    background-color: var(--primary-blue);
    color: var(--background-light);
    font-family: 'Book Antiqua', serif;
    font-weight: 600;
    font-size: 0.95rem;
    text-transform: capitalize;
    cursor: pointer;
    transition: background-color 0.2s;
    display: block;
    margin-left: auto;
    margin-right: 30px;
}

#search-button:hover {
    background-color: #0b5ed7;
}

.btn-fixed {
    padding: 0.7rem 1.2rem;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    gap: 8px;
    transform: translateY(20px);
}

.btn-excursions {
    background-color: var(--secondary-orange);
    color: white;
}

.btn-transfers {
    background-color: var(--primary-blue);
    color: white;
}

.btn-fixed .arrow-icon {
    width: 16px;
    height: 16px;
    fill: white;
}


/* Version PC */
@media screen and (min-width: 769px) {
  .titre-principal-page {
    text-align: left;
    font-size: 23px;
    color: #fff;
  transform: translateY(-20px);
     
}

  .sous-titre {
     text-align: left;
    font-size: 20px;
    font-family: 'Lora', serif;
    color: #fff;
 transform: translateY(-30px);
}
 .p-titre {
     text-align: left;
    font-size: 16px;
    color: #000;
  
 }
    .hero-text-diaporama{
      text-align: center;
      font-family: 'Lora', serif;
    font-size: 16px;
     font-family: 'Segoe UI', sans-serif;

    color: #000;
}
.hero-text-Contact{
   text-align: left;
    font-size: 18px;
   font-family: 'Lora', serif;

}
}

.faq-section {
  max-width: 1100px;
  margin: 0 auto 16px;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid #e2e2e2;
  border-top: 3px solid #e60000;
  border-radius: 10px;
  box-shadow: 0 5px 14px rgba(0, 0, 0, 0.08);
  font-family: 'Lora', serif;
  text-align: left;
}

.faq-section h3 {
  margin: 0 0 18px !important;
  padding-bottom: 10px;
  border-bottom: 2px solid #e60000;
  color: #003b95 !important;
  font-family: 'Lora', serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

.faq-section h4 {
  margin: 18px 0 6px !important;
  padding-left: 12px;
  border-left: 3px solid #ff9800;
  color: #1a1a1a !important;
  font-family: 'Lora', serif !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}

.faq-section p {
  margin: 0;
  padding: 0 0 14px 15px;
  border-bottom: 1px solid #eee;
  color: #444;
  font-size: 1rem;
  line-height: 1.65;
}

.faq-section p:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

/* Version Mobile */
@media screen and (max-width: 768px) {
 .titre-principal-page {
    text-align: left;
    font-size: 22px;
    color: #fff;
    
}

  .sous-titre {
     text-align: center;
    font-size: 22px;
    font-family: 'Lora', serif;
      color: #fff;
        transform: translateY(-8px);
       
}
 .p-titre {
     text-align: left;
    font-size: 18px;
    color: #fff;
 }
    .hero-text-diaporama{
      text-align: left;
    font-size: 14px;
   font-family: 'Lora', serif;

    color: #000;
    } 
.hero-text-Contact{
   text-align: left;
    font-size: 16px;
   font-family: 'Lora', serif;

}
  .faq-section {
    max-width: 98%;
    padding: 16px 14px;
    border-radius: 8px;
  }

  .faq-section h3 {
    font-size: 1.2rem !important;
    text-align :center;
  }

  .faq-section h4 {
    margin-top: 14px !important;
    padding-left: 10px;
    font-size: 1rem !important;
  }

  .faq-section p {
    padding-left: 13px;
    font-size: 0.95rem;
  }
}

/* ===== carte.css ===== */
.route-map{position:relative;width:100%;aspect-ratio:16/9;margin:14px 0 18px;border:1px solid #d9d9d9;border-radius:12px;overflow:hidden;background:#eef1f4}
.route-map iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
@supports not (aspect-ratio:1/1){.route-map{height:380px}}
@media (max-width:768px){.route-map{aspect-ratio:4/5;border-radius:10px}}
@media (max-width:768px){@supports not (aspect-ratio:1/1){.route-map{height:420px}}}
@media (min-width:769px){.route-map{aspect-ratio:2/1}}
.page-global-block .excursions-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:14px 0 18px;padding:0}
.page-global-block .excursions-list li{list-style:none;margin:0;padding:0}
.page-global-block .excursions-list a{display:block;color:inherit;text-decoration:none;font-weight:600;line-height:1.35}
.page-global-block .excursions-list a:hover{text-decoration:underline}
.page-global-block .excursions-list img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin:0 0 8px;transition:opacity .2s}
.page-global-block .excursions-list a:hover img{opacity:.85}
@supports not (aspect-ratio:1/1){.page-global-block .excursions-list img{height:200px}}
@media (max-width:768px){.page-global-block .excursions-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:480px){.page-global-block .excursions-list{grid-template-columns:1fr}}

/* ===== pages trajet : cartes excursions, suivi, pourquoi, formulaire ===== */
.cartes-excursions{list-style:none;margin:16px 0 14px;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.cartes-excursions li{list-style:none;margin:0;padding:0}
.cartes-excursions a{display:block;height:100%;border:1px solid #003b95;border-radius:10px;overflow:hidden;background:#fff;color:#003b95;text-decoration:none;transition:transform .2s,box-shadow .2s}
.cartes-excursions a:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,59,149,.18)}
.cartes-excursions img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.cartes-excursions span{display:block;padding:12px 14px;font-weight:600;line-height:1.35}
.cartes-excursions .prix-carte{display:block;padding:4px 0 0;font-size:1.05em;font-weight:700}
@media (max-width:768px){.cartes-excursions{grid-template-columns:1fr}}
.suivi-transfert{margin:12px 0 14px;padding-left:22px}
.suivi-transfert li{margin:0 0 8px;line-height:1.5}
.suivi-transfert .etape{font-weight:600;color:#003b95}
.why-choose-us-simple{max-width:1100px;margin:0 auto 16px;padding:1rem 1.5rem;background:var(--bg);border:1px solid #ff9800;border-top:3px solid #ff9800;border-radius:10px;box-shadow:0 5px 14px rgba(0,0,0,.08)}
.why-choose-us-simple .container>h3{text-align:center;margin:0 0 8px}
.why-choose-us-simple .container>h3+p{text-align:center;margin:0 0 24px}
@media (min-width:769px) and (max-width:1024px){.why-choose-us-simple{padding:1rem;max-width:95%}}
@media (max-width:768px){.why-choose-us-simple{padding:.8rem;max-width:98%}}
.remise-retour{text-align:center}
#departure-date{text-transform:uppercase}
