/* Palette : #2E2E72 (principal), #4a90e2 (secondaire), #e74c3c (accent), #f5f5f5 (gris clair), #333 (texte) */
.hero-section{min-height:540px;}
@media (max-width:767px){.hero-section{min-height:420px;}}:root{--primary-color:#2E2E72;--secondary-color:#4a90e2;--accent-color:#e74c3c;--light-bg:#f5f5f5;--text-color:#333}.body{font-family:'Open Sans',Arial,sans-serif;color:var(--text-color);background:#fff;margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-family:'Montserrat',Arial,sans-serif}.btn-primary{background:var(--primary-color);color:#fff;border-radius:6px;padding:12px 24px;font-weight:600;display:inline-block;transition:background .2s;text-decoration:none;min-height:48px;}.btn-primary:hover{background:#23235a}.cta-bg{background-color:#2E2E72!important;color:#fff!important;padding-top:6rem;padding-bottom:6rem}.cta-bg .bg-white{margin-top:2rem;margin-bottom:2rem;box-shadow:0 2px 16px rgba(46,46,114,0.10)}.cta-bg *:not(.bg-white):not(.bg-gray-100){color:#000}.cta-bg > h1,
.cta-bg > h2,
.cta-bg > h3,
.cta-bg > h4,
.cta-bg > h5,
.cta-bg > h6,
.cta-bg > p,
.cta-bg > div,
.cta-bg > .cta-title,
.cta-bg > .cta-subtitle {
  color: #fff !important;
}
.cta-bg .btn-subtext {
  color: #2E2E72 !important;
}

.cta-bg .bg-white h2,
.cta-bg .box-white h2 {
  color: #2E2E72 !important;
}
/* Désactive la règle qui force tout le texte en noir dans .cta-bg sauf .bg-white */
.cta-bg *:not(.bg-white):not(.bg-gray-100) { color: inherit; }
.footer{background:#2E2E72;color:#fff;padding:48px 0 24px 0}.step-bubble{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:linear-gradient(135deg,#2563eb 60%,#60a5fa 100%);color:#fff;font-size:1rem;font-weight:600;box-shadow:0 2px 8px rgba(46,46,114,0.10);margin-bottom:.75rem;margin-right:.75rem;transition:background .2s}.step-bubble[aria-label="Étape 2"]{background:linear-gradient(135deg,#16a34a 60%,#4ade80 100%)}.step-bubble[aria-label="Étape 3"]{background:linear-gradient(135deg,#f59e42 60%,#fbbf24 100%)}.step-bubble[aria-label="Étape 4"]{background:linear-gradient(135deg,#d97706 60%,#fde68a 100%)}@media(max-width:600px){.step-bubble{width:20px;height:20px;font-size:.85rem}}.footer-cols{display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between}.footer-bottom{border-top:1px solid #4a90e2;margin-top:32px;padding-top:16px;text-align:center;font-size:.95em;color:#fff}@media(max-width:900px){.footer-cols{flex-direction:column;gap:16px}}nav.main-nav, .main-nav{padding-top:20px!important;padding-bottom:20px!important}
.main-nav ul{list-style:none;display:flex;gap:32px;margin:0;padding:0}
.main-nav a{color:var(--primary-color);font-weight:500;text-decoration:none;font-size:1.08em;transition:color .2s}
.main-nav a:hover{color:var(--accent-color)}

/* --- MENU BURGER --- */
#burger-btn {display:none;}
@media (max-width:900px) {
  #burger-btn {display:block;position:relative;z-index:50;background:none;border:none;padding:0;margin:0;}
  .main-nav ul#main-menu-list {
    position:fixed;
    top:0;left:0;width:100vw;height:100vh;
    background:#fff;
    flex-direction:column;
    gap:2.5rem;
    padding-top:6.5rem;
    padding-left:1.5rem;padding-right:1.5rem;
    box-shadow:0 6px 24px rgba(46,46,114,0.07);
    z-index:40;
    opacity:0;
    visibility:hidden;
    transform:translateX(100%);
    transition:opacity .3s,visibility .3s,transform .3s;
    pointer-events:none;
  }
  .main-nav ul#main-menu-list.opacity-100.visible.translate-x-0 {
    opacity:1!important;
    visibility:visible!important;
    transform:translateX(0)!important;
    pointer-events:auto!important;
  }
  .main-nav ul#main-menu-list li {text-align:center;}
  body.menu-open {overflow:hidden;}
}
@media (min-width:900px) {
  #burger-btn {display:none!important;}
  .main-nav ul#main-menu-list {
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    position:static!important;
    height:auto!important;
    background:none!important;
    box-shadow:none!important;
    flex-direction:row!important;
    gap:2rem!important;
    padding:0!important;
    pointer-events:auto!important;
  }
  .main-nav ul#main-menu-list > li > a {
    white-space:nowrap;
  }
}

.submenu {
  display: none !important;
  flex-direction: column !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  gap: 0 !important;
}
ul.submenu, ul[aria-label="Sous-menu Nos services"] {
  padding: 18px 22px !important;
  margin: 0 !important;
  background: #fff !important;
  box-shadow: 0 6px 24px rgba(46,46,114,0.07) !important;
  border-radius: 10px !important;
  border: 1px solid #e5e7eb !important;
  min-width: 210px !important;
  top: 100% !important;
  font-size: 1rem !important;
  gap: 0 !important;
}
ul.submenu a, ul[aria-label="Sous-menu Nos services"] a {
  display: block !important;
  color: #2E2E72 !important;
  padding: 8px 18px !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  min-height: 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  border: none !important;
  background: none !important;
  border-radius: 6px !important;
  transition: background .18s, color .18s !important;
  text-align: left !important;
}
ul.submenu li, ul[aria-label="Sous-menu Nos services"] li {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  line-height: 1 !important;
  min-height: 0 !important;
  border: none !important;
  background: none !important;
  gap: 0 !important;
}
ul.submenu li:not(:first-child) a, ul[aria-label="Sous-menu Nos services"] li:not(:first-child) a {
  margin-top: 5px !important;
}
.group:hover > .submenu,
.group:focus-within > .submenu {
  display: flex !important;
}
.submenu a:hover,
ul.submenu a:focus,
ul[aria-label="Sous-menu Nos services"] a:hover,
ul[aria-label="Sous-menu Nos services"] a:focus {
  background: #f5f5f5 !important;
  color: #e74c3c !important;
}
@media(max-width:800px){.main-nav ul{flex-direction:column;gap:8px}}.container{max-width:1200px;margin:0 auto;padding:0 18px}.logo{display:inline-block;vertical-align:middle}.cta-header{margin-left:32px}.plate-wrapper{display:flex;align-items:center;background:#fff;border:3px solid #2E2E72;border-radius:8px;overflow:hidden;width:340px;height:60px;min-height:60px;box-shadow:0 2px 8px rgba(46,46,114,0.08)}.plate-eu{background:#2E2E72;color:#fff;width:60px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:bold;font-size:1.3em;position:relative}.plaque-iso .plate-eu .country {
  color: #fff !important;
  font-size: 1.3em;
  letter-spacing: 1px;
}.plate-input{flex:1;border:none;outline:none;height:100%;font-size:2em;text-align:center;letter-spacing:3px;color:#222;background:transparent;font-family:'Montserrat',Arial,sans-serif}


/* Bordure et style spécifique pour le champ du simulateur */
.plaque-sim-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: #fff;
  border: 3.5px solid #2563eb;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(46,46,114,0.10);
  padding: 0 0 0 0;
  max-width: 380px;
  min-height: 70px;
  margin-bottom: 1.2rem;
  position: relative;
}

form.bg-gray-50 input#immat {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #23235a !important;
  font-size: 2.2em !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 8px !important;
  text-align: center !important;
  padding: 18px 16px !important;
  height: 68px !important;
  outline: none !important;
  width: 100%;
  min-width: 0;
}
form.bg-gray-50 input#immat::placeholder {
  color: #b0b5be !important;
  opacity: 1 !important;
}
@media (max-width: 600px) {
  .plaque-sim-wrapper {
    max-width: 99vw;
    min-height: 54px;
    border-radius: 9px;
  }
  form.bg-gray-50 input#immat {
    font-size: 1.3em !important;
    height: 46px !important;
    padding: 10px 6px !important;
    letter-spacing: 5px !important;
  }
}

/* Nettoyage : suppression des doublons et règles orphelines */

/* Bordure et style spécifique pour le champ du simulateur */
.plaque-sim-wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  background: #fff;
  border: 3.5px solid #2563eb;
  border-radius: 14px;
  box-shadow: 0 2px 12px rgba(46,46,114,0.10);
  padding: 0;
  max-width: 380px;
  min-height: 70px;
  margin-bottom: 1.2rem;
  position: relative;
}
form.bg-gray-50 input#immat {
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #23235a !important;
  font-size: 2.2em !important;
  font-family: 'Montserrat', Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 8px !important;
  text-align: center !important;
  padding: 18px 16px !important;
  height: 68px !important;
  outline: none !important;
  width: 100%;
  min-width: 0;
}
form.bg-gray-50 input#immat::placeholder {
  color: #b0b5be !important;
  opacity: 1 !important;
}
form.bg-gray-50 input#immat:focus {
  border-color: #2563eb !important;
  background: #fff !important;
  outline: none !important;
}


.plaque-iso .plate-input::placeholder{color:#bbb;opacity:1}@media(max-width:500px){.plaque-iso.plate-wrapper{background:#fff!important;border-radius:8px!important;border:3px solid #2E2E72!important;box-shadow:0 2px 8px rgba(46,46,114,0.08)!important;overflow:hidden!important;padding:0!important;width:340px!important;height:60px!important;display:flex!important;align-items:center!important;justify-content:stretch!important;position:relative!important;margin:auto!important}.plate-wrapper{width:95vw;min-width:0;max-width:100%;height:48px}.plaque-iso .plate-eu{width:60px!important;min-width:60px!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:1.3em!important;font-weight:bold!important;background:#2E2E72!important;color:#fff!important}
}
.plaque-iso .plate-input{flex:1 1 0%!important;width:100%!important;height:100%!important;border:none!important;outline:none!important;background:transparent!important;color:#222!important;font-size:2em!important;letter-spacing:3px!important;text-align:center!important;padding:0!important;margin:0!important;border-radius:0!important;font-family:'Montserrat',Arial,sans-serif!important}

/* Bouton support client */
.support-btn {
  width: auto;
  white-space: nowrap;
  flex-wrap: nowrap;
}
.support-btn * {
  white-space: nowrap !important;
}

/* Bouton du formulaire de contact - visibilité et accessibilité */

/* Accordéon FAQ - ANTI-CONFLIT */
.faq-content {
  display: none;
  opacity: 0;
  transition: opacity 0.3s;
}
.faq-content[aria-hidden="false"] {
  display: block !important;
  opacity: 1;
}

.faq-toggle {
  cursor: pointer;
  background: none;
  border: none;
  text-align: left;
  width: 100%;
  font-size: 1.15em;
  transition: background 0.18s;
}
.faq-toggle:focus,
.faq-toggle:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  background: #f5f5f5;
}

form button[type="submit"],
.btn-contact-submit {
  background: #2563eb !important;
  color: #fff !important;
  font-weight: bold;
  border-radius: 0.5rem;
  padding: 1rem 0;
  box-shadow: 0 2px 8px rgba(46,46,114,0.10);
  border: 1.5px solid #1d4ed8;
  font-size: 1.15em;
  width: 100%;
  transition: background 0.18s, color 0.18s, box-shadow 0.18s;
}
form button[type="submit"]:hover,
.btn-contact-submit:hover {
  background: #1742b0 !important;
  color: #fff !important;
  box-shadow: 0 4px 16px rgba(46,46,114,0.13);
  border-color: #1742b0;
}
.homehero {
  text-align: center;
}

.homeheroh1 {
	margin: 30px auto 20px;
  font-size: 30px;
  font-weight: 600;
  width: 800px;
}

.homeherop {
	font-weight: 600;
}
