@import url(https://fonts.cdnfonts.com/css/ethnocentric);
@media (max-width:768px) {
   
    
    html,
    body {
        margin: 0 !important;
        padding: 0 !important;
        width: 100% !important;
        overflow-x: hidden !important;
        box-sizing: border-box !important;
        max-width: 100vw !important
    }
    *,
    *::before,
    *::after {
        box-sizing: inherit
    }
    
   
    footer {
        padding: 2rem 1rem;
        text-align: center
    }
    #scrollTopBtn {
        width: 50px;
        height: 50px
    }
    .arrow-icon {
        width: 24px;
        height: 24px
    }
}

body {
    margin: 0;
    font-family: 'Barlow Condensed', sans-serif;
    background-size: cover;
    color: #fff;
    overflow-x: hidden
}

main {
    max-width: 1920px;
    margin: 50px auto;
    padding: 20px;
    background-color: none;
    border-radius: 12px
}

h1,
h2 {
    text-align: center;
    color: #00f6ff;
    margin-bottom: 30px
}







footer {
    text-align: center;
    padding: 20px;
    font-size: .9rem;
    color: #aaa
}





.fade-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #000;
    opacity: 0;
    transition: opacity 2s ease-in;
    z-index: 0
}

#scrollTopBtn {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 60px;
    height: 60px;
    background-color: #C00000;
    border: none;
    border-radius: 12px;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 999;
    transition: background 0.3s, transform 0.3s
}

#scrollTopBtn:hover {
    background-color: #002060;
    transform: translateY(-3px)
}



/*Nouvelles classes CSS*/







/* Fonts déjà importées ailleurs si besoin */
/* Reset minimal pour cette section */
.legal-wrapper,
.legal-back-wrapper,
.site-footer-legal {
  box-sizing: border-box;
  width: 100%;
  font-family: 'Orbitron', sans-serif;
}

/* ================= SECTION PRINCIPALE ================= */
.legal-wrapper {
  background:#000;
  padding:5vw 3vw;
}

.legal-container {
  max-width:90vw;
  margin:0 auto;
  text-align:center;
}

.legal-title {
  font-size:clamp(1.75rem,6vw,3rem);
  margin:0 0 2vw;
  color:#fff;
  font-weight:700;
  text-shadow:2px 2px 8px rgba(0,0,0,.63),4px 4px 12px rgba(0,0,0,.55);
}

.legal-subtitle {
  font-size:clamp(1.25rem,4vw,2rem);
  margin:0 0 1vw;
  color:#fff;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:4px;
}

.legal-text {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(.875rem,2.5vw,1.25rem);
  line-height:1.55;
  margin:0 0 3vw;
  color:#fff;
  font-weight:500;
}

.legal-text strong { color:#fff; font-weight:700; }

.legal-link {
  color:#c00000;
  text-decoration:none;
  font-weight:700;
  position:relative;
  transition:color .3s;
}
.legal-link::after {
  content:"";
  position:absolute;
  left:50%; bottom:-3px;
  width:0; height:2px;
  background:linear-gradient(to right,#0055A4,#ff1100);
  transform:translateX(-50%);
  transition:width .4s;
  border-radius:2px;
}
.legal-link:hover,
.legal-link:focus-visible {
  color:#ff3c2c;
  outline:none;
}
.legal-link:hover::after,
.legal-link:focus-visible::after {
  width:90%;
}

/* ================= BOUTON RETOUR ================= */
.legal-back-wrapper {
  width:100%;
  padding:5vw 3vw 4vw;
  text-align:center;
  position:relative;
  background:#000;
}

.btn-back-home {
  display:inline-block;
  padding:clamp(.75rem,2vw,1rem) clamp(1.5rem,4vw,2rem);
  font-family:'Orbitron',sans-serif;
  font-size:clamp(1rem,3vw,1.5rem);
  font-weight:700;
  letter-spacing:.5px;
  color:#fff;
  background:linear-gradient(to right,#003C78,#ff1100);
  border-radius:30px;
  text-decoration:none;
  cursor:pointer;
  box-shadow:0 0 10px rgba(0,85,164,.6);
  text-shadow:2px 2px 8px rgba(0,0,0,.63),4px 4px 12px rgba(0,0,0,.57);
  transition:background .35s, transform .35s, box-shadow .35s;
  position:relative;
}
.btn-back-home:hover,
.btn-back-home:focus-visible {
  background:linear-gradient(to right,#004080,#d00000);
  box-shadow:0 0 15px #c00000;
  transform:translateY(-3px);
  outline:none;
}
.btn-back-home:active {
  transform:translateY(0) scale(.97);
}

/* ================= FOOTER ================= */
.site-footer-legal {
  text-align:center;
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(.75rem,1.4vw,1rem);
  padding: clamp(2.2rem,6vh,3.2rem) clamp(1rem,4vw,2rem);
  color:#fff;
  background:linear-gradient(160deg,#000,#050505);
  line-height:1.5;
  text-shadow:2px 2px 8px rgba(0,0,0,.63),4px 4px 12px rgba(0,0,0,.56);
  font-weight:600;
  margin-bottom: -20%;
  max-width: 1920px;
}

.site-footer-legal a {
  color:#fff;
  font-weight:700;
  text-decoration:none;
  position:relative;
  display:inline-block;
  transition:color .35s;
}
.site-footer-legal a::after {
  content:"";
  position:absolute;
  left:50%; bottom:-3px;
  width:0; height:2px;
  background:linear-gradient(to right,#0055A4,#ff1100);
  transform:translateX(-50%);
  transition:width .4s;
  border-radius:2px;
}
.site-footer-legal a:hover::after,
.site-footer-legal a:focus-visible::after { width:85%; }
.site-footer-legal a:hover,
.site-footer-legal a:focus-visible { color:#fff; outline:none; }

/* ================= SCROLL TOP BTN ================= */
.scroll-top-btn {
  position:fixed;
  bottom:clamp(1.5rem,5vw,2.5rem);
  right:clamp(1.5rem,5vw,2.5rem);
  width:clamp(2.5rem,6vw,4rem);
  height:clamp(2.5rem,6vw,4rem);
  background:#c00000;
  border:none;
  border-radius:.6rem;
  display:none;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  z-index:999;
  transition:background .35s, transform .35s, box-shadow .4s;
  box-shadow:0 12px 30px -16px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.1);
}
.scroll-top-btn:hover,
.scroll-top-btn:focus-visible {
  background:#002060;
  transform:translateY(-6%);
  outline:none;
  box-shadow:0 18px 40px -18px rgba(0,0,0,.9),0 0 0 1px rgba(0,255,255,.25);
}
.scroll-top-btn:active { transform:translateY(-2%) scale(.95); }

.arrow-icon-legal {
  width:100%;
  height:100%;
  padding:.55rem;
  box-sizing:content-box;
}

/* ================= RESPONSIVE AJUSTEMENTS ================= */
@media (max-width:900px) {
  .legal-wrapper { padding:6vw 4vw; }
  .legal-back-wrapper { padding:6vw 4vw 5vw; }
  .legal-container { max-width:100%; }
}

@media (max-width:680px) {
  .legal-wrapper,
  .legal-back-wrapper { padding:8vw 5vw; }
  .legal-title { margin-bottom:5vw; }
  .legal-text { margin-bottom:6vw; }
  .btn-back-home { width:90%; font-size:clamp(.85rem,4vw,1.15rem); }
}

@media (max-width:460px) {
  .legal-wrapper,
  .legal-back-wrapper { padding:10vw 5.5vw; }
  .legal-text { font-size:clamp(.85rem,4vw,1.05rem); }
  .legal-subtitle { font-size:clamp(1.05rem,5.2vw,1.5rem); }
  .btn-back-home { border-radius:26px; }
  .site-footer-legal { font-size:clamp(.7rem,3.2vw,.9rem); }
}

/* Motion preference */
@media (prefers-reduced-motion: reduce) {
  .btn-back-home,
  .scroll-top-btn,
  .legal-link::after,
  .site-footer-legal a::after {
    transition:none !important;
  }
}

/*toggle 2*/

/* Bouton burger */
.menu-toggle {
  display: none;
  position: relative;
  width: 44px;
  height: 40px;
  background: transparent;
  border: none;
  padding: 6px;
  cursor: pointer;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6px;
  z-index: 100;
}

.menu-toggle span {
  width: 100%;
  height: 3px;
  background: #ffffff;
  display: block;
  border-radius: 3px;
  transition: transform .4s ease, opacity .35s ease, background .35s;
}

/* État ouvert */
.menu-toggle.open span:nth-child(1) {
  transform: translateY(9px) rotate(45deg);
}
.menu-toggle.open span:nth-child(2) {
  opacity: 0;
}
.menu-toggle.open span:nth-child(3) {
  transform: translateY(-9px) rotate(-45deg);
}

/* ===== Responsive ≤ 920px : on commence à compacter ===== */
/*
@media (max-width: 920px) {
  .main-nav {
    gap: 1rem;
    padding: 10px clamp(1rem,3vw,1.5rem);
  }
  .nav-links {
    gap: clamp(1.2rem, 2.6vw, 2rem);
  }
  .main-nav .logo img {
    height: 44px;
  }
}

*/

/* ===== Mobile ≤ 780px : menu déroulant ===== */
@media (max-width: 780px) {
  .menu-toggle {
    display: flex;
  }
}

/* Accessibilité focus */
.menu-toggle:focus-visible
 {
  outline: 2px solid #ff1100;
  outline-offset: 3px;
}





/* ========= LANG SWITCHER ========= */
.lang-switcher{
  position:relative;
  display:inline-flex;
  align-items:center;
  font-size:14px;
  flex-shrink:0;
  z-index:120;                 /* au-dessus du nav */
}

/* Bouton principal (FR / EN + chevron) */
.lang-btn{
  display:flex;
  align-items:center;
  gap:.35rem;
  background:none;
  border:0;
  padding:.25rem .5rem;
  font:inherit;
  color:#fff;
  cursor:pointer;
  line-height:1;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.lang-btn .chevron{
  width:10px;
  height:6px;
  transition:transform .2s;
}
.lang-btn[aria-expanded="true"] .chevron{
  transform:rotate(180deg);
}

/* Liste déroulante */
.lang-list{
  position:absolute;
  top:calc(100% + .35rem);
  right:0;
  background:#000;
  border:1px solid rgba(255,255,255,.15);
  border-radius:6px;
  box-shadow:0 6px 22px -8px rgba(0,0,0,.65);
  padding:.25rem 0;
  margin:0;
  list-style:none;
  animation:drop .15s ease-out;
  width:max-content;
  max-width:calc(100vw - 1rem - env(safe-area-inset-right));
  overflow:auto;                       /* scroll interne si nécessaire */
  -webkit-overflow-scrolling:touch;    /* fluidité iOS */
}
.lang-list[hidden]{ display:none !important; }

.lang-list a{
  display:block;
  padding:.45rem .9rem;
  text-decoration:none;
  color:#fff;
  font-size:14px;
  line-height:1.2;
  white-space:nowrap;                  /* 2 lettres ne poseront pas problème */
  outline:none;
}
.lang-list a:hover,
.lang-list a:focus-visible{
  background:#1b1b1b;
}

/* Petite anim */
@keyframes drop{
  from{opacity:0;transform:translateY(-4px);}
  to  {opacity:1;transform:translateY(0);}
}

/* ------- Sécurités responsive ------- */
@media (max-width:780px){
  /* Place le switcher dans le coin droit du nav mobile */
  .lang-switcher{
    position:absolute;
    right:clamp(.6rem, 4vw, 1.2rem);
    top:50%;
    transform:translateY(-50%);
  }
  .lang-list{
    max-width:calc(100vw - .8rem - env(safe-area-inset-right));
  }
}

/* Préférence utilisateur : moins d’animations */
@media (prefers-reduced-motion: reduce){
  .lang-btn .chevron,
  .lang-list{
    transition:none !important;
    animation:none !important;
  }
}

/*nav links mobile*/

@media (max-width: 780px) {
  .nav-links {
    position: absolute;
    top: 100%;
    left: 0;
    width: 42% !important;
    flex-direction: column;
    background: rgba(0,0,0,0.94);
    backdrop-filter: blur(6px);
    padding: clamp(1.2rem,4vw,2rem) clamp(1rem,5vw,2rem);
    border-top: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 14px 34px -10px rgba(0,0,0,0.65);
    transform-origin: top center;
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    display: flex;
    align-items: flex-start; /* commence à gauche */
    margin-left: 29% !important;
  }

  .nav-links.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
    /* Décalage vers la droite */
    margin-left: clamp(40px, 15vw, 80px);
  }

  .nav-links a {
    width: 100%;
    text-align: center !important;
    padding-left: clamp(1rem, 5vw, 2rem) !important;
    padding-right: clamp(1rem, 5vw, 2rem) !important;
    font-size: clamp(14px, 4vw, 17px);
  }
}

@media (max-width: 780px) {

  .nav-links a{

    margin-right: -500% !important;



  }

  


}





