/* Police de base du site : sans-serif partout par défaut (formulaires, boutons, texte courant).
   Sans cette règle, tout élément sans font-family explicite retombe sur le serif par défaut
   du navigateur, ce qui rendait les boutons/labels du formulaire illisibles. */
body {
  font-family: Roboto, Helvetica, Arial, sans-serif;
}

button, input, select, textarea {
  font-family: inherit;
}

::placeholder {
  color: #6b6b6b;
  opacity: 1;
}

/* Styles propres au nouveau site PHP : navbar, menu mobile, mini-formulaire hero */

.site-navbar {
  align-items: center;
  background-color: #272727;
  display: flex;
  justify-content: space-between;
  padding: 10px 24px;
  position: relative;
}

.site-navbar__logo img {
  display: block;
  margin-top: 0;
  width: 150px;
}

.site-navbar__links {
  align-items: center;
  display: flex;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-navbar__links a {
  color: #fff;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-weight: 500;
  padding: 8px 14px;
  text-decoration: none;
}

.site-navbar__links a:hover {
  text-decoration: underline;
}

.site-navbar__toggle {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  display: none;
  font-size: 28px;
  line-height: 1;
}

.breadcrumbs {
  margin: 1rem auto;
  max-width: 1200px;
  padding: 0 1.5rem;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
  color: #555;
}

.breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin: 0 0.5rem;
  color: #999;
}

.breadcrumbs a {
  color: #555;
  text-decoration: underline;
}

.breadcrumbs li[aria-current="page"] {
  color: #211f1d;
  font-weight: 600;
}

@media (max-width: 900px) {
  .site-navbar__links {
    background-color: #272727;
    display: none;
    flex-direction: column;
    align-items: flex-start;
    left: 0;
    padding: 12px 24px 20px;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 100;
  }

  .site-navbar__links.is-open {
    display: flex;
  }

  .site-navbar__toggle {
    display: block;
  }
}

.PreFormLocationDeparture,
.Pre_form input,
.Pre_form select {
  font-family: Roboto, Helvetica, Arial, sans-serif;
}

/* Tunnel de réservation */

.mdp-stepper {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 3rem auto 2rem;
  max-width: 700px;
  padding: 0 1rem;
}

.mdp-stepper__step {
  align-items: center;
  color: #999;
  display: flex;
  flex: 1;
  flex-direction: column;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 13px;
  gap: 6px;
  text-align: center;
}

.mdp-stepper__circle {
  align-items: center;
  background: #e0e0e0;
  border-radius: 50%;
  color: #333;
  display: flex;
  font-weight: 700;
  height: 32px;
  justify-content: center;
  width: 32px;
}

.mdp-stepper__step.is-active .mdp-stepper__circle,
.mdp-stepper__step.is-done .mdp-stepper__circle {
  background: #211f1d;
  color: #fff;
}

.mdp-stepper__step.is-active {
  color: #211f1d;
  font-weight: 700;
}

.mdp-alert {
  background: #fdecea;
  border: 1px solid #f5c2c0;
  border-radius: 6px;
  color: #7a1c1c;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  margin: 1rem auto;
  max-width: 800px;
  padding: 14px 18px;
}

.mdp-field {
  margin-bottom: 1.2rem;
}

.mdp-field label {
  display: block;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin-bottom: 6px;
}

.mdp-field input,
.mdp-field select,
.mdp-field textarea {
  border: 1px solid #ccc;
  border-radius: 6px;
  box-sizing: border-box;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  padding: 12px 14px;
  width: 100%;
}

.mdp-field .error {
  color: #c0392b;
  display: block;
  font-size: 13px;
  margin-top: 4px;
}

/* Sélecteur de type de véhicule (étape 1 de la réservation) : ces classes
   n'avaient aucune règle CSS, les images (jusqu'à 600px de large en natif)
   débordaient du formulaire sur mobile. */
.car-type-container {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 0.5rem;
}

.car-type-box {
  align-items: center;
  border: 2px solid #e0e0e0;
  border-radius: 10px;
  cursor: pointer;
  display: flex;
  flex: 1 1 130px;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 160px;
  padding: 0.75rem;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.car-type-box:hover {
  border-color: #b0b0b0;
}

.car-type-box.selected {
  background-color: #efe1c233;
  border-color: #efe1c2;
}

.mdp-field .car-type-box .hidden-radio {
  border: 0;
  clip: rect(0, 0, 0, 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.car-image {
  height: 70px;
  object-fit: contain;
  width: 100%;
}

.car-label {
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-align: center;
}

@media (max-width: 500px) {
  .car-type-box {
    flex: 1 1 45%;
    max-width: none;
  }
}

.navigationButtons {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  margin-top: 2rem;
}

.navigationButtons button,
.submitButton,
.previousStepButton {
  border: none;
  border-radius: 6px;
  cursor: pointer;
  display: inline-block;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 24px;
  text-align: center;
}

.submitButton {
  background: #211f1d;
  color: #fff;
}

.previousStepButton {
  background: #eee;
  color: #211f1d;
}

.payment_card_container {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  justify-content: center;
  margin: 2rem 0;
}

.payment_card_online,
.payment_card_incar {
  background: #fff;
  border: 2px solid #eee;
  border-radius: 12px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  padding: 2rem;
  text-align: center;
  transition: border 0.2s ease, transform 0.2s ease;
  width: 280px;
}

.payment_card_online:hover,
.payment_card_incar:hover {
  border-color: #211f1d;
  transform: translateY(-2px);
}

/* Styles repris de l'ancien build React (static/css/main.7a152c27.css), rendus autonomes */
:root{--main-blue-color:#1976d2}
.phonenumber_button{background-color:#211f1d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 20px;transition:background-color .3s ease}
.footer{display:flex;flex-direction:column;margin:auto;width:100%}
.top{align-items:center;background-color:#060606;color:#fff;display:flex;justify-content:space-around;padding-bottom:4rem;padding-top:4rem;z-index:100}
.left{width:45%}
.left h3{font-size:30px;font-weight:700;line-height:70px}
.left h3,.left p{font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal}
.left p{font-size:20px;font-weight:500;line-height:36px}
.right{display:flex;gap:4rem}
.right h3{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal;font-weight:600;line-height:70px}
.right ul{list-style:none}
.right li,.right p{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:15px;font-style:normal;font-weight:600;line-height:30px}
.right a{color:#fff;text-decoration:none}
.bottom{background-color:#000;color:azure;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal;font-weight:400;line-height:21px;padding:1rem;text-align:center;z-index:100}
.bottom a{color:azure;text-decoration:none}
@media (max-width:991.98px){.top{padding-left:1rem;padding-right:1rem}}
@media (max-width:700px){.top{align-items:start;flex-direction:column;padding-left:1rem}.left{width:100%}.left h3,.left p{text-align:center}.right{display:flex;flex-direction:row;gap:4rem;justify-content:center;width:100%}}
@media (max-width:575.98px){.top{align-items:start;padding-left:1rem}.right,.top{flex-direction:column}}
.main{align-items:center;background-color:#fff;color:#000;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh}
.header_section{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/divers/landing-header-sombre.webp);background-repeat:no-repeat;background-size:cover;box-shadow:none;color:#344767;display:grid;height:110vh;opacity:1;place-items:center;width:100%}
.header_section_content{align-items:center;display:flex;flex-direction:row;justify-content:space-around;margin-bottom:4rem;margin-top:5%;width:80%}
.header_section_content .title_content{align-items:center;display:flex;flex-direction:column}
.header_section_content .title_content p{color:#1976d2;color:var(--main-blue-color);font-size:2.25rem;font-style:normal;font-weight:400;letter-spacing:-.125px;line-height:1.625;margin:8px 0 0;opacity:1;text-align:center;text-decoration:none;text-transform:none;vertical-align:initial}
.header_section_content .title_content img{width:420px}
.header_section_content .title_content h1{color:#efe1c2}
.header_section_subText{font-size:1.2rem;font-weight:400}
.headerSectionSubText,.header_section_subText{color:#fff;font-family:Roboto Slab,sans-serif;font-style:normal}
.header_section_subText a{color:#fff;text-decoration:none}
.top_form-text{color:#fff;font-size:20px;text-align:center}
.Pre_form{background-color:#0000003d;border-radius:5px;color:#000;font-weight:700;gap:0;padding:20px 20px 2rem;width:500px}
.Pre_form h2{text-align:center}
.Pre_form > div{margin-bottom:14px}
.Pre_form > div:last-of-type{margin-bottom:0}
.Pre_form input{background-color:#f1f2f7;border:0;border-radius:9px;height:60px;width:100%;box-sizing:border-box;padding:0 16px}
.Pre_form button{background-color:#211f1d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 20px;transition:background-color .3s ease}
.Pre_form button:hover{background-color:#817864;color:#fff}
.Pre_form .custom-select{background-color:#f1f2f7;background-color:#c5c5c5;border:0;border-radius:9px;font-size:16px;height:60px;margin-bottom:10px;padding:8px;width:100%}
.body_section{-webkit-backdrop-filter:saturate(200%) blur(30px);backdrop-filter:saturate(200%) blur(30px);background-clip:initial;background-color:#fffc;box-shadow:0 1.25rem 1.6875rem 0 #0000000d;color:#000000de;display:flex;flex-direction:column;margin-left:20px;margin-right:20px;min-width:0;overflow:visible;overflow-wrap:break-word;position:relative;transition:box-shadow .3s cubic-bezier(.4,0,.2,1) 0ms;width:100%}
.presentation_section{margin:5rem auto;width:100%}
.presentation_section h2{text-align:center}
.conciergerie_intro{font-size:20px;margin:auto;max-width:1000px;text-align:center}
.conciergerie_intro a{color:var(--main-blue-color);text-decoration:underline}
.presentation_section_content{align-items:center;border-radius:15px;box-shadow:0 12px 38px 10px #0000001a;display:flex;gap:3rem;justify-content:center;margin:2rem auto auto;max-width:1200px;padding:20px}
.presentation_section_content img{margin:0}
.presentation_section-minititle{font-size:20px!important;font-weight:600!important}
.presentation_section_content img{border-radius:5px}
.presentation_text{display:flex;flex-direction:column}
.presentation_section_content p{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal;font-weight:500;letter-spacing:.016em;line-height:23px}
.presentation_text_bottom{align-items:center;border-radius:15px;box-shadow:0 12px 38px 10px #0000001a;display:flex;flex-direction:row-reverse;gap:3rem;justify-content:center;margin:2rem auto auto;max-width:1200px;padding:20px}
.presentation_text_bottom img{border-radius:5px}
.reserv_text{border-radius:15px;box-shadow:0 12px 38px 10px #0000001a;padding:20px}
.reserv_text p{font-size:20px;text-align:center}
.reserv_text ul{align-items:anchor-center;display:flex;flex-direction:column}
.reserv_text li{font-size:20px}
.tab-selector{display:flex;gap:0;justify-content:center;width:100%}
.tab{background-color:#f5f5f5;border:1px solid #ccc;border-right:none;cursor:pointer;flex:1 1;font-weight:500;padding:12px 0;text-align:center;transition:.2s ease-in-out}
.tab:hover{background-color:#e0e0e0}
.tab.active{background-color:#333;border-color:#333;color:#fff}
.nos_services_container{margin-top:3rem;padding-bottom:4rem}
.nos_services_container h2{color:#211f1d;text-align:center}
.nos_services_content{display:flex;flex-direction:column;gap:3rem;margin:auto;max-width:1500px;padding-top:2rem}
.nos_services_item_content{display:flex;flex-direction:column;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin:auto;max-width:90%}
.nos_services_item_content_text{align-items:flex-start;display:flex;flex-direction:column}
.nos_services_item_content h3{color:#000;font-family:Open Sans,Helvetica,Arial,Lucida,sans-serif;font-size:25px;font-weight:700}
.nos_services_item_content a{text-align:inherit}
.nos_services_item img{border-radius:18px;height:180px;object-fit:cover;width:260px}
.nos_services_item_content img{margin-top:0}
.nos_services_item{align-items:center;border-radius:18px;box-shadow:0 12px 38px -6px #0000001a;display:flex;flex-direction:row;gap:60px;padding:12px;transition:all .8s}
.nos_services_item:hover{background-color:#e4e4e4;transform:scale(1.01)}
.nos_services_item svg{width:20px}
.nos_services_item_content h4{color:#000;font-size:28px;font-weight:700;line-height:41px}
.nos_services_item_content h4,.nos_services_item_content p{font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal;letter-spacing:.016em;margin-bottom:0;margin-top:1rem}
.nos_services_item_content p{color:#060606;font-size:18px;font-weight:400;max-width:95%}
.pourquoi_container{margin:5rem auto;max-width:1200px;padding:0 1rem}
.pourquoi_container h2{margin-bottom:3rem;text-align:center}
.pourquoi_list{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}
.pourquoi_item{background:#fff;border-radius:15px;box-shadow:0 12px 38px -6px #0000001a;flex:1 1 240px;max-width:270px;padding:2rem}
.pourquoi_item h3{font-size:20px;font-weight:700;margin-bottom:.75rem}
.pourquoi_item p{font-size:16px;line-height:1.5}
.avis_container{flex-direction:column;margin:6rem auto;max-width:1000px;padding:0 1rem}
.avis_container h2{letter-spacing:-.125px;line-height:1.625;margin-bottom:1rem;text-align:center;text-transform:none}
.avis_summary{color:#5d5d5d;font-size:18px;font-weight:600;margin-bottom:2rem;text-align:center}
.avis_list{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}
.avis_item{background:#fff;border-radius:15px;box-shadow:0 12px 38px -6px #0000001a;max-width:340px;padding:2rem;text-align:center}
.avis_item_stars{color:#efe1c2;font-size:1.3rem;letter-spacing:2px;margin-bottom:1rem}
.avis_item_text{font-size:18px;font-style:italic;margin-bottom:1rem}
.avis_item_name{font-weight:600}
.avis_section-button{margin-top:3rem;text-align:center}
.partenaire_container{flex-direction:column;margin:6rem auto;max-width:1000px}
.partenaire_container h2{letter-spacing:-.125px;line-height:1.625;margin-bottom:5rem;opacity:1;text-align:center;text-decoration:none;text-transform:none;vertical-align:initial}
.partenaire_list{display:flex;flex-wrap:wrap;gap:50px;justify-content:center}
.partenaire_list img{border-radius:5px;height:60px;max-width:150px}
.reserver_son_trajet_container{flex-direction:column;margin:6rem auto;max-width:1000px}
.reserver_son_trajet_container h2{letter-spacing:-.125px;line-height:1.625;opacity:1;text-align:center;text-decoration:none;text-transform:none;vertical-align:initial}
.reserver_son_trajet-button_reserve{margin-top:40px;text-align:center}
.reserver_son_trajet_container button{background-color:#211f1d;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;padding:15px 20px;transition:background-color .3sease}
.reserver_son_trajet_steps{display:flex;gap:3rem;justify-content:center;padding-top:2rem}
.reserver_son_trajet_steps img{margin-top:0}
.reserver_son_trajet_steps div{font-style:normal;font-weight:500;line-height:3rem}
.reserver_son_trajet_steps div,.reserver_son_trajet_steps p{font-family:Roboto,Helvetica,Arial,sans-serif;letter-spacing:.016em}
.reserver_son_trajet_steps p{color:#344767;font-size:18px}
@media (max-width:1000px){.header_section_content{flex-direction:column;gap:2rem}.header_section_content .title_content img{height:60px;width:300px}.header_section_content .title_content p{font-size:1.5rem}.header_section_subText{font-size:1.3rem;max-width:80%;text-align:center}.presentation_section{max-width:90%}.presentation_section h2{font-size:22px}.conciergerie_intro{font-size:18px;margin-top:10px}.presentation_section_content,.presentation_text_bottom{flex-direction:column-reverse;gap:2rem}.presentation_text{gap:1.5rem}.presentation_text h1{text-align:center}.presentation_text p{font-size:16px;gap:2rem;margin:auto;max-width:85%;text-align:center}.presentation_section_content img,.presentation_text_bottom img{border-radius:13px;height:140px;object-fit:cover;width:90%}.nos_services_item{gap:1rem;margin:auto;max-width:90%}.nos_services_item h4{font-size:22px}.nos_services_item_content{max-width:95%}.nos_services_item_content p{font-size:14px}.reserver_son_trajet_container{max-width:90%}}
@media (max-width:700px){.Pre_form{width:100%}.header_section_content .title_content img{height:40px;width:220px}.header_section_content .title_content p{font-size:1.3rem}.header_section_subText{font-size:1.1rem;max-width:80%;text-align:center}.header_section_content .title_content img{height:50px;width:250px}.header_section_content .title_content h1{font-size:20px}.nos_services_item{flex-direction:column}.nos_services_item img{height:150px;object-fit:cover;width:90%}.reserver_son_trajet_container{margin-bottom:6rem;margin-top:4rem}.reserver_son_trajet_container h2{margin-bottom:2rem}.reserver_son_trajet_steps{align-items:center;flex-direction:column}}
@media (max-width:500px){.header_section_content .title_content img{height:40px;width:200px}.header_section_content .title_content p{font-size:1.2rem}.header_section_subText{font-size:1rem;max-width:80%;text-align:center}.presentation_section{margin-bottom:2rem;margin-top:2rem}.nos_services_item_content a{justify-content:flex-start}}
.presentation_section_content{box-shadow:none}
@media (max-width:1000px){.bottom_infos{flex-direction:column-reverse}}
.presentation_text h2{text-align:center}
.siteInfos__address{overflow-wrap:break-word;word-break:break-word;max-width:280px}

/* Styles des pages de service (aéroport, longue distance, etc.) et FAQ */
.reservation_link{display:flex;gap:10px}
.reservation_link button{background:linear-gradient(70deg,#efe1c2,#efe1c2);color:#211f1d;font-family:Roboto Slab,sans-serif;font-size:22px;height:55px;width:350px}
.cars_list_section{margin:auto;width:100%}
.cars_list_container{align-items:center;display:flex;flex-direction:column;margin:auto;max-width:1500px}
.cars_list_container h2{color:#060606;display:flex;justify-content:center;margin-top:5rem;text-align:center}
.cars_list_container p{max-width:90%;text-align:center}
.cars_list_cards{display:flex;flex-wrap:wrap;gap:4rem;justify-content:space-evenly;margin-bottom:6rem;margin-top:6rem;max-width:90%}
.eco_section{background-color:#f0f2f7;background-color:var(--background-grey-light);background-image:url(/assets/img/vehicules/prius-banniere-sombre.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;height:500px;margin:auto;width:100%}
.eco_container{color:#fff;display:flex;flex-direction:column;font-size:21px;font-weight:600;margin:6rem auto auto;max-width:70%;text-align:center}
.eco_container a{color:#fff;text-decoration:underline}
.eco_container h2{font-size:2.2rem;font-style:normal;font-weight:700;line-height:1.625;opacity:1}
.car_inside_services_section{background-color:#fff;padding-bottom:6rem;padding-top:2rem;width:100%}
.car_inside_services_container{align-items:center;display:flex;flex-direction:column;gap:2rem;margin:auto;max-width:1500px}
.car_inside_services_container h3{color:#211f1d;display:flex;font-family:Roboto Slab,sans-serif;font-size:2.3rem;font-style:normal;font-weight:700;justify-content:flex-start;letter-spacing:.016em}
.car_inside_services_content{display:flex;flex-direction:row;gap:3rem}
.car_inside_services_item{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center}
.car_inside_services_item svg{color:#efe1c2;height:80px;width:80px}
.car_inside_services_item p{color:#211f1d;font-family:Roboto Slab,sans-serif;font-size:18px;font-style:normal;font-weight:600;text-align:center}
.Faq_section{margin:10rem auto;max-width:1800px;width:100%}
.Faq_section h3{font-size:2.3rem;font-weight:700}
.Faq_section h3,.Faq_section h4{color:#211f1d;display:flex;font-family:Roboto Slab,sans-serif;font-style:normal;justify-content:flex-start;letter-spacing:.016em;margin:auto}
.Faq_section h4{font-size:1.5rem;font-weight:500}
.Faq_content{gap:1rem;margin:auto;max-width:1000px}
.Faq_content,.Faq_content_title{display:flex;flex-direction:column;justify-content:center}
.Faq_content_title{gap:0;margin-bottom:2rem}
.Faq_content_text p{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal}
.contact_section{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/chauffeurs/chauffeur-fond.webp);background-repeat:no-repeat;background-size:cover;width:100%}
.contact_content{display:flex;flex-direction:row;justify-content:space-between;margin:6rem auto;max-width:1000px}
.contact_section button{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:16px;padding:2rem 4rem}
.contact_content_left{background:linear-gradient(to bottom right,#efe1c2,#efe1c2);border:1px solid #474747;border-radius:5px;color:#211f1d;display:flex;flex-direction:column;justify-content:center;max-width:500px;padding:3rem}
.contact_content_left h2{color:#211f1d;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:30px;font-style:normal;font-weight:600;letter-spacing:.016em;line-height:41px;margin-bottom:1rem;text-align:center}
.contact_content_left a{margin:auto}
.contact_content_left p{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:20px;font-style:normal;font-weight:600;letter-spacing:.016em;line-height:27px}
.reservation_link_section{margin-bottom:5rem}
.reservation_link_content{align-items:center;border-radius:8px;box-shadow:0 12px 38px -6px #0000001a;display:flex;flex-direction:row;gap:2rem;justify-content:space-around;margin:auto;max-width:1200px;padding:3rem}
.reservation_link_content p{color:#444;font-family:Roboto Slab,sans-serif;font-size:18px;font-weight:600}
.reservation_link_right button{background:linear-gradient(70deg,#efe1c2,#efe1c2);color:#211f1d;font-family:Roboto Slab,sans-serif;font-size:22px;height:55px;width:350px}
.reservation-link{gap:20px}
.conseils-list,.reservation-link{display:flex;flex-direction:column}
@media (max-width:1000px){.reservation_link{flex-direction:column}.cars_list_container h2{margin-top:5rem}.cars_list_cards{flex-direction:column;gap:1rem}.car_inside_services_section{margin-top:-2px}.car_inside_services_container h3{font-size:1.7rem;max-width:80%;text-align:center}.car_inside_services_content{flex-wrap:wrap;justify-content:center;max-width:90%}.car_inside_services_item svg{height:50px;width:50px}.Faq_section{margin-bottom:5rem;margin-top:5rem}.Faq_content_text{margin:auto;max-width:95%}.Faq_content_title{margin:auto;max-width:90%;text-align:center}.Faq_content_title h3{font-size:2rem}.Faq_content_title h4{font-size:1.1rem}.contact_content{align-items:center;flex-direction:column-reverse;margin-top:0}.reservation_link_content{flex-direction:column;text-align:center}}
@media (max-width:700px){.contact_content_left{max-width:80%}}
@media (max-width:500px){.contact_content_left h2{font-size:20px}.contact_content button{padding:1rem 2rem}.eco_section{height:auto;padding-bottom:3rem}}
.service_aeroport_section_contentHead{align-items:center;background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/destinations/aeroport-depart.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;height:500px;justify-content:center;width:100%}
.service_aeroport_section_contentHead h1{color:#fff;font-size:3rem}
/* Modificateurs de fond par page service : sans ces règles, .paris/.disney/.orly/.roissy/.van/.nos_services
   n'ont aucun effet et toutes les pages affichent le même fond (celui de aéroport) */
.service_aeroport_section_contentHead.paris{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/destinations/paris-arc-de-triomphe.webp)}
.service_aeroport_section_contentHead.disney{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/destinations/disney-pluto.webp)}
.service_aeroport_section_contentHead.orly{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/destinations/orly-aeroport.webp)}
.service_aeroport_section_contentHead.roissy{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/destinations/roissy-cdg.webp)}
.service_aeroport_section_contentHead.van{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/services/van.webp)}
.service_aeroport_section_contentHead.nos_services{background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/chauffeurs/chauffeur-vtc.webp)}
.service_section_presentation{display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:auto;max-width:900px}
.service_section_presentation h2{font-family:Luxurious Roman,serif;font-size:3.5rem}
.service_section_presentation h2,.service_section_presentation p{color:#5d5d5d;display:flex;font-style:normal;font-weight:400;justify-content:flex-start;letter-spacing:.016em;margin:auto;text-align:center}
.service_section_presentation p{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:20px}
.service_content_informations{align-items:center;display:flex;flex-direction:row;gap:3rem;margin:3rem auto;max-width:1200px}
.service_content_informations img{border-radius:8px;height:300px;width:500px}
.service_content_informations_text{display:flex;flex-direction:column;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:18px;font-style:normal;font-weight:400;justify-content:flex-start;letter-spacing:.016em;margin:auto}
.service_content_informations_text a{color:var(--main-blue-color);text-decoration:underline}
@media (max-width:1000px){.service_aeroport_section_contentHead img{width:350px}.service_aeroport_section_contentHead h1{font-size:2.5rem}.service_content_informations_text{max-width:90%;text-align:center}.service_content_informations_text h2{display:flex;font-size:22px}.reservation_link_content{padding-top:1rem}.reservation_link_left h2{font-size:22px}.reservation_link_left ul,.service_content_informations_text ul{text-align:justify}.Faq_content{max-width:90%}.Faq_content_title h2{font-size:22px}.reservation-link{max-width:95%}.reservation-link button{max-width:100%}.service_content_informations{flex-direction:column;max-width:90%}.service_content_informations img{height:150px;object-fit:cover;width:85%}.bottom_infos{flex-direction:column-reverse}}
@media (max-width:700px){.service_aeroport_section_contentHead h1{font-size:2rem;max-width:90%;text-align:center}.service_aeroport_section_contentHead img{width:250px}}
.contact_section{padding-bottom:1rem;padding-top:1rem}
.eco_container h2{color:#000;font-family:Roboto Slab,sans-serif}
.eco_container p{font-family:Roboto Slab,sans-serif;font-size:18px;font-weight:500}
.eco_container img{border-radius:5px;width:500px}
.eco_container li{margin-top:1rem}
.pricing_section{background-color:#f9f9f9;padding:50px 20px;text-align:center}
.pricing_section h2{font-size:2rem;margin-bottom:20px}
.pricing_section p{color:#555;font-size:1rem;line-height:1.6;margin-bottom:40px}
.pricing_container{margin:2rem auto auto;max-width:1200px}
.pricing_grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:40px}
.pricing_card{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.pricing_card:hover{box-shadow:0 8px 12px #0003;transform:translateY(-10px)}
.pricing_card img{border-bottom:1px solid #eee;height:auto;width:100%}
.pricing_card h3{font-size:1.5rem;margin:20px 0 10px}
.pricing_card p{color:#555;font-size:1rem;margin-bottom:20px;padding:0 20px}
.pricing_card strong{color:#007bff;display:block;font-size:1.25rem;margin-bottom:20px}
.pricing_advantages{margin:0 auto 40px;max-width:800px;text-align:left}
.pricing_advantages h3{font-size:1.75rem;margin-bottom:20px}
.pricing_advantages ul{list-style:none;padding:0}
.pricing_advantages li{color:#555;font-size:1rem;margin-bottom:10px;padding-left:30px;position:relative}
.pricing_advantages li:before{color:#007bff;content:"✔";font-size:1.25rem;left:0;position:absolute;top:0}
.pricing_cta{margin-top:20px}
.pricing_cta p{font-size:1.2rem;margin-bottom:20px}
.pricing_cta_button{display:flex;justify-content:center}
.pricing_cta a{width:auto}
.pricing_cta .button,.pricing_cta a{display:inline-block;margin:0 10px}
.pricing_cta .button,.pricing_cta a button{background-color:#007bff;background:linear-gradient(70deg,#2272ff,#125fab);border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;height:55px;padding:10px 20px;transition:background-color .3s ease}
.pricing_cta .button:hover,.pricing_cta a button:hover{background-color:#0056b3}
.eco_container{margin-top:0}
.eco_container h2{color:#fff}
.eco_container ul{align-items:baseline;display:flex;flex-direction:column}
.car_inside_services_container h2,.car_inside_services_container p{color:#211f1d}
.car_inside_services_container p{text-align:center}
.contact_content{align-items:center}
.Faq_content_title h2,.Faq_content_title p{text-align:center}
.info_aeroport_section{background-color:#f9f9f9;margin-bottom:40px;padding:40px}
.info_aeroport_container{margin:2rem auto auto;max-width:1200px}
.info_aeroport_intro{align-items:center;display:flex;margin-bottom:20px}
.info_aeroport_image{border-radius:8px;margin-right:20px;width:50%}
.info_aeroport_text{color:#555;font-size:1.1rem}
.info_aeroport_details{display:flex;flex-wrap:wrap;justify-content:space-between}
.eco_section,.head_title_section{height:auto}
/* Accordéon FAQ natif (details/summary), remplace l'ancien composant MUI */
.Faq_content_text details {
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  margin-bottom: 0.75rem;
  padding: 0;
}

.Faq_content_text summary {
  cursor: pointer;
  font-family: Roboto, Helvetica, Arial, sans-serif;
  font-weight: 600;
  list-style: none;
  padding: 1rem 1.25rem;
  position: relative;
}

.Faq_content_text summary::-webkit-details-marker {
  display: none;
}

.Faq_content_text summary::after {
  content: "+";
  font-size: 1.3rem;
  font-weight: 400;
  position: absolute;
  right: 1.25rem;
  top: 0.9rem;
}

.Faq_content_text details[open] summary::after {
  content: "\2212";
}

.Faq_content_text details p {
  margin: 0;
  padding: 0 1.25rem 1.25rem;
}

/* Bandeaux service (deck, head_title) */

.head_title_section{align-items:center;background-color:#000;background-image:url(/assets/img/vehicules/mercedes-sombre.webp);background-position:100% 50%;background-repeat:no-repeat;background-size:50% auto;display:flex;flex-direction:row;gap:13rem;height:auto;justify-content:center;width:100%}
.head_title_content{display:flex;flex-direction:column;max-width:1200px}
.head_title_content h2{color:#fff}
.head_title_section h3{color:#fff;font-family:Roboto Slab,sans-serif;font-size:2.2rem;margin-bottom:0}
.head_title_section p{color:#fff;margin-top:0}
.social_media_icons{display:flex;gap:1rem}
.social_media_icons img{width:25px}
.social_media_icons a{width:40px}
@media (max-width:1000px){.head_title_section{background-position:105% 105%;flex-direction:column;gap:3rem;padding-bottom:2rem}.head_title_content{align-items:center}.head_title_section h3{font-size:2rem}.head_title_section p{font-size:1rem}}
@media (max-width:700px){.head_title_content{align-items:center;max-width:85%;text-align:center}.head_title_section h3{font-size:1.7rem}.head_title_section p{font-size:.9rem}}
@media (max-width:500px){.head_title_section h3{font-size:1.5rem}}
.link-aéroport{display:flex;flex-direction:column}
.link-aéroport a{color:#1461b3;text-decoration:underline}
.link-aéroport a:hover{color:#09294b;text-decoration:underline}
.service_content_deck{align-items:baseline;background-color:#f0f2f7;display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem;justify-content:center;margin:auto auto 5rem;padding:2rem 1rem}
.service_deck_item{align-items:center;display:flex;flex-direction:column;gap:.5rem;justify-content:center;max-width:300px}
.service_deck_item .title,.service_deck_item h3{color:#000;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:1.5rem;font-style:normal;font-weight:600;letter-spacing:.016em;text-align:center;margin:0}
.service_deck_item p{color:#000;font-family:Roboto,Helvetica,Arial,sans-serif;font-size:17px;font-style:normal;font-weight:400;letter-spacing:.016em;text-align:center}
.service_deck_separator{border-left:1px solid #ccc;align-self:stretch}
@media (max-width:700px){.service_deck_separator{border:1px solid #ccc;border-left:none;width:80%}}

/* Section hôtels Disney */
.hotels_section{padding:50px 20px;text-align:center}
.hotels_container{margin:2rem auto auto;max-width:1200px}
.hotels_section h2{font-size:2.5rem;margin-bottom:20px}
.hotels_section p{color:#555;font-size:1rem;line-height:1.6;margin-bottom:40px}
.hotels_list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.hotel_item{background:#fff;border-radius:10px;box-shadow:0 4px 6px #0000001a;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.hotel_item:hover{box-shadow:0 8px 12px #0003;transform:translateY(-10px)}
.hotel_item img{border-bottom:1px solid #eee;height:200px;margin-top:0;object-fit:cover;width:100%}
.hotel_item h3{color:#007bff;font-size:1.5rem;margin:20px 0 10px}
.hotel_item p{color:#555;font-size:1rem;margin-bottom:20px;padding:0 20px}
.hotels_section p:last-of-type{font-size:1.1rem;font-weight:700;margin-top:40px}

/* En-têtes spécifiques longue distance / mise à disposition */
.service_longues_distance_section_contentHead{align-items:center;background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/destinations/autoroute.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;box-sizing:border-box;display:flex;flex-direction:column;height:auto;justify-content:center;padding:3rem 1rem;width:100%}
.service_longues_distance_section_contentHead h1{color:#fff;font-size:2.5rem;max-width:90%;overflow-wrap:break-word;text-align:center}
.service_mise_a_dispo_section_contentHead{align-items:center;background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/chauffeurs/chauffeur-1.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;box-sizing:border-box;display:flex;flex-direction:column;height:auto;justify-content:center;padding:3rem 1rem;width:100%}
.service_mise_a_dispo_section_contentHead h1{color:#fff;font-size:2.5rem;max-width:90%;text-align:center}

/* Garde-fou : les cartes de service sont des liens englobants, jamais de style de lien par défaut */
a {
  color: inherit;
  text-decoration: none;
}
.nos_services_item_content a,
.nos_services_item_content a:visited,
.nos_services_item_content a h3,
.nos_services_item_content a p {
  color: inherit;
  text-decoration: none;
}

/* Page À propos et Contact */
.a_propos_section_contentHead{align-items:center;background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/chauffeurs/homme-costume.webp);background-position:top;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;height:300px;justify-content:center;width:100%}
.a_propos_section_contentHead h1{color:#fff}
.a_propos_section_contentTop{display:flex;flex-direction:column;gap:1rem;justify-content:center;margin:4rem auto auto;max-width:900px;text-align:center}
.a_propos_section_contentTop h2{font-size:2.2rem;font-weight:700;line-height:1.625}
.a_propos_section_contentTop h2,.a_propos_section_contentTop p{font-family:Roboto Slab,sans-serif;font-style:normal;margin:auto}
.a_propos_section_contentTop p{font-size:20px;font-weight:400;letter-spacing:.016em;text-align:center}
.a_propos_section_contentTop a{color:var(--main-blue-color);text-decoration:underline}
.a_propos_section_contentCoreBottom{display:flex;flex-direction:row;flex-wrap:wrap;gap:2rem;justify-content:center;margin:4rem auto 5rem;max-width:1200px}
.a_propos_section_contentItem{align-items:center;display:flex;flex-direction:column;gap:1rem;max-width:300px}
.a_propos_section_contentItem h3{font-family:Roboto Slab,sans-serif;font-size:22px;font-style:normal;font-weight:600;letter-spacing:.016em;text-align:center}
.a_propos_section_contentItem p{font-family:Roboto Slab,sans-serif;font-size:16px;font-style:normal;letter-spacing:.016em;text-align:center;color:#5d5d5d}
@media (max-width:575.98px){.a_propos_section_contentTop{max-width:350px}.a_propos_section_contentTop h2{font-size:22px}}

.contactSection{padding-bottom:4rem}
.contactSection h1{color:#211f1d;text-align:center;margin-top:3rem}
.contactSection h2{font-family:Roboto,Helvetica,Arial,sans-serif;font-size:26px;font-style:normal;font-weight:600;letter-spacing:.016em;margin-top:4rem;text-align:center}
.contactSectionContent{display:flex;justify-content:center;margin-top:2rem}
.contact_end{margin:3rem auto;max-width:700px;text-align:center}
.social_container{display:flex;gap:10px;justify-content:center;margin-bottom:4rem}
.social_container img{width:40px}

/* Page Flotte */
.flotte_section{padding-bottom:4rem}
.flotte_section h1{margin-bottom:3rem;margin-top:5rem;text-align:center}
.flotte_section .card{border-radius:20px}
.flotte_section img{border-top-left-radius:20px;border-top-right-radius:20px;margin-top:0}
.flotte_section ul{margin:2rem auto auto;width:95%}
.flotte_section li{font-size:18px}
.flotte_section .card_list{display:flex;flex-wrap:wrap;gap:50px;margin:auto;width:80%}
.flotte_section .experience{margin:5rem auto;text-align:center;max-width:800px}
.card{box-shadow:0 4px 8px 0 #0003;transition:.3s;width:40%}
.card img{max-height:240px;width:100%;object-fit:cover}
.card:hover{box-shadow:0 8px 16px 0 #0003}
.card .container{padding:1rem 1.5rem 2rem}
@media (max-width:1000px){.flotte_section .card_list{flex-direction:column;width:90%}.card{width:100%}.experience{max-width:90%}}

/* Accessibilité : cache visuellement un label tout en le gardant lisible par les lecteurs d'écran */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Pages détail véhicule (nos-voitures) et page éco */
.car_section{margin:auto;width:100%}
.nos_voitures_section_contentHead{align-items:center;background-image:linear-gradient(rgba(0,0,0,.527),#00000080),url(/assets/img/vehicules/mercedes-classe-e-fond.webp);background-position:50%;background-repeat:no-repeat;background-size:cover;display:flex;flex-direction:column;height:400px;justify-content:center;width:100%}
.nos_voitures_section_contentHead h1{color:#fff;font-size:3rem;text-align:center}
.nos_voitures_section_contentHead p{color:#fff;font-size:20px}
.car_details{background-color:#f0f2f7;border:1px solid #a8a8a84d;flex-direction:column;gap:4rem;margin:auto auto 5rem;padding-bottom:2rem;padding-top:2rem}
.car_details,.car_details_secondary{display:flex;justify-content:space-evenly}
.car_details_secondary{margin:auto;width:80%;flex-wrap:wrap}
.car_details_secondary li{font-size:16px}
.car_details_travel p{align-items:center;color:#000;display:flex;font-weight:600;gap:1rem}
.car_details_travel h3,.car_details_left h3,.car_details_right h3{color:var(--main-blue-color);font-family:Roboto,Helvetica,Arial,sans-serif}
.car_details_travel ul,.car_details_left ul,.car_details_right ul{list-style:none;padding-left:0}
.car_details_travel li,.car_details_left li,.car_details_right li{color:#000;font-weight:600}
.car_details_left{margin-left:5rem}
.car_gallery{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}
.car_gallery img{border-radius:4px;box-shadow:0 3px 10px #0003;max-width:100%}
.other_car{align-items:center;display:flex;flex-wrap:wrap;font-family:Roboto,Helvetica,Arial,sans-serif;font-style:normal;font-weight:600;gap:1.5rem;justify-content:center;margin-bottom:3rem;margin-top:4rem}
.other_car p{color:#344767;font-size:1.5em}
.other_car_button_list{display:flex;flex-wrap:wrap;gap:1rem}
@media (max-width:1000px){.nos_voitures_section_contentHead h1{font-size:2.5rem}.car_gallery{flex-wrap:wrap}.car_details_secondary{flex-wrap:wrap;width:100%}}
@media (max-width:700px){.nos_voitures_section_contentHead h1{font-size:2rem;max-width:90%}.car_details_left{margin-left:0}}
@media (max-width:500px){.car_details_left,.car_details_right,.car_details_travel{margin-left:1rem;width:100%}.other_car p{max-width:80%;text-align:center}}

.eco_container{background-color:#000;color:#fff;display:flex;flex-direction:column;font-size:21px;font-weight:600;margin-top:0;padding:6rem 1rem;text-align:center}
.eco_container h2{color:#fff;font-family:Roboto Slab,sans-serif;font-size:2.2rem;font-style:normal;font-weight:700;line-height:1.625}
.eco_container p{font-family:Roboto Slab,sans-serif;font-size:18px;font-weight:500}
.eco_container img{border-radius:5px;width:500px;max-width:100%}
.eco_container ul{align-items:baseline;display:flex;flex-direction:column;text-align:left}
.eco_container li{margin-top:1rem}
.eco_content{color:#fff;display:flex;flex-direction:row;gap:5rem;margin:auto auto 5rem;text-align:left;max-width:1200px}
.eco_text{max-width:800px}
.eco_text a{color:var(--main-blue-color);text-decoration:underline}
.not_bold{font-weight:500}
.long_img{width:390px!important}
@media (max-width:1000px){.eco_content{flex-direction:column;text-align:center}.eco_content img{width:100%}.long_img{display:none}}

/* Page 404 */
.erreur404{text-align:center;padding:4rem 1rem}
.erreur404 h1{font-size:9rem;margin:0}
.erreur404 p{font-size:2rem;margin:0 0 2rem}
.erreur404 a{color:var(--main-blue-color)}
.erreur404 img{max-width:600px;width:90%;border-radius:8px}
.erreur404_links{margin-top:2rem}
.erreur404_links p{font-size:1.1rem;font-weight:600;margin-bottom:.75rem}
.erreur404_links ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}
.erreur404_links a{text-decoration:underline}
