/* ============================================================
   CTdigitalweb — adaptations du socle — paliers 1024 / 901 / 900 / 768 / 560 / 380
   (04-adaptations.css, découpé de l'ancien files/site.css sans rien réordonner)
   Ces media queries étaient la fin de site.css : elles doivent rester APRÈS les
   composants et AVANT les feuilles de page. Ne pas les confondre avec
   09-responsive.css, qui est chargée en dernier sur toutes les pages.
   ============================================================ */

/* -------- Responsive -------- */
@media (max-width:1024px){
  .feature-row{grid-template-columns:minmax(0,1fr); gap:2.4rem;}
  .feature-row .fr-media{order:-1 !important; max-width:520px; margin-inline:auto;}
  .fr-txt p{max-width:none;}
  .cards{grid-template-columns:repeat(2,minmax(0,1fr));}
  .front-cmp{grid-template-columns:minmax(0,1fr);}
  .who{grid-template-columns:minmax(0,1fr);}

  .foot-top{grid-template-columns:1fr 1fr; gap:2rem;}
}
@media (max-width:768px){
  .section{padding:4.2rem 0;}
  .section.tight{padding:3.2rem 0;}
  .feature-row + .feature-row{margin-top:3.4rem;}
  .steps{grid-template-columns:1fr 1fr;}
  .s-head{margin-bottom:2.2rem;}
}
@media (min-width:901px){
  .nav-mid{gap:2.6rem; transition:gap .38s cubic-bezier(.4,0,.2,1);}
  nav.scrolled .nav-mid{gap:2rem;}
}
@media (max-width:900px){
  /* Nav : le menu devient un panneau déroulant détaché, piloté par le hamburger */
  .nav-toggle{display:flex;}
  .nav-right{margin-left:auto;}
  .nav-mid{
    position:absolute; left:0; right:0; top:calc(100% + 10px);
    flex-direction:column; gap:0;
    background:#fff; border:1px solid var(--line); border-radius:20px;
    box-shadow:0 22px 40px -22px rgba(14,23,38,0.35);
    padding:0.3rem 0;
    max-height:0; overflow:hidden; opacity:0; visibility:hidden;
    transition:max-height .32s ease, opacity .25s ease, visibility .32s;
  }
  .nav-mid.open{max-height:75vh; max-height:75dvh; opacity:1; visibility:visible; overflow-y:auto; -webkit-overflow-scrolling:touch;}
  .nav-mid a{font-size:1rem; padding:0.95rem 1.6rem; width:100%;}
  .nav-mid a::after{display:none;}
  .nav-mid a:hover,.nav-mid a.is-active{background:var(--soft);}
  .bullets.two{grid-template-columns:minmax(0,1fr);}
}
@media (max-width:560px){
  .wrap{padding:0 1.3rem;}
  nav{width:100%;}
  nav.scrolled{top:10px; width:calc(100% - 20px);}
  .nav-logo .lg-full{display:none;} .nav-logo .lg-mark{display:block; height:38px;}
  nav.scrolled .nav-logo .lg-mark{height:34px;}
  .nav-in{height:62px; padding:0 1.3rem;} .lang{display:none;}
  nav.scrolled .nav-in{height:54px; padding:0 0.5rem 0 1rem;}
  .nav-right .btn-gold{padding:0.58rem 0.9rem; font-size:0.82rem;}
  .section{padding:3.4rem 0;}
  .subhero{padding-top:calc(62px + 2rem); padding-bottom:2.2rem;}
  .cards{grid-template-columns:minmax(0,1fr);}
  .steps{grid-template-columns:minmax(0,1fr);}
  .mapwrap{min-height:320px;}

  .foot-brand img{margin-left:0;}
  .foot-top{grid-template-columns:minmax(0,1fr); gap:1.9rem;}
  .foot-bot{grid-template-columns:minmax(0,1fr); justify-items:center; gap:0.6rem;} .foot-bot .fb-l,.foot-bot .fb-c,.foot-bot .fb-r{justify-self:center; text-align:center;}
}
@media (max-width:380px){
  .wrap{padding:0 1rem;}
  .section{padding:2.9rem 0;}
  .card .cb{padding:1.3rem 1.3rem 1.4rem;}
  .nav-right .btn-gold{padding:0.5rem 0.75rem; font-size:0.78rem;}
}
