/* Ophélie Fender — adaptation aux petits écrans.
   Le reste du rendu vient de la maquette, inchangé. */

html{-webkit-text-size-adjust:100%}
body{margin:0;overflow-x:hidden;
  padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
img{max-width:100%;height:auto}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}

@media (max-width:1320px){
  main{min-width:0!important}
  main>div,main>header,main>section,main>footer{width:100%!important;max-width:1280px!important;margin-left:auto!important;margin-right:auto!important}
}

@media (max-width:1024px){
  main,main *{min-width:0!important}
  main>div,main>header,main>section,main>footer{width:100%!important;max-width:100%!important}
  [style*="padding:0 80px"],[style*="padding:26px 80px"]{padding-left:40px!important;padding-right:40px!important}
}

@media (max-width:860px){
  main,main>*{width:100%!important;max-width:100%!important;min-width:0!important}

  /* toutes les grilles sur une colonne */
  [style*="grid-template-columns"]{grid-template-columns:1fr!important}
  [style*="grid-column"]{grid-column:1!important}
  [style*="grid-row"]{grid-row:auto!important}

  /* les rangées horizontales se replient */
  [style*="display:flex"]:not([style*="flex-direction:column"]){flex-wrap:wrap}

  /* hauteurs fixes libérées */
  [style*="height:800px"]{height:auto!important;min-height:88svh!important}
  [style*="min-height:760px"]{min-height:0!important}
  [style*="height:460px"]{height:clamp(200px,48vw,460px)!important}

  /* marges intérieures resserrées */
  [style*="padding:0 80px"]{padding-left:20px!important;padding-right:20px!important}
  [style*="80px"]{--x:1}
  [style*="padding:32px 80px 64px"]{padding:24px 20px 40px!important}
  [style*="padding:26px 80px"]{padding:18px 20px!important}
  [style*="padding:14px 80px"]{padding:12px 20px!important}
  [style*="padding:176px 80px 144px"]{padding:96px 20px 72px!important}
  [style*="padding:120px 80px 120px 88px"]{padding:56px 20px!important}

  /* titres : on borne les très grandes tailles */
  h1{font-size:clamp(30px,8.4vw,48px)!important;line-height:1.08!important}
  h2{font-size:clamp(23px,6.2vw,34px)!important;line-height:1.18!important}

  /* navigation : seul le bouton reste */
  nav:not(.lgnav){display:none!important}

  /* liste monumentale des métiers */
  [style*="white-space:nowrap"]{white-space:normal!important}

  /* tableau du simulateur */
  [style*="grid-template-columns:minmax(0,1fr) 104px 104px"]{
    grid-template-columns:minmax(0,1fr) 84px 84px!important}
  [style*="grid-template-columns:minmax(0,1fr) 150px"]{
    grid-template-columns:minmax(0,1fr) 120px!important}

  /* bouton flottant plus discret */
  [style*="position:fixed"][style*="right:32px"]{right:14px!important;bottom:14px!important}
}

@media (max-width:520px){
  [style*="grid-template-columns:minmax(0,1fr) 104px 104px"]{
    grid-template-columns:minmax(0,1fr) 72px 72px!important;gap:8px!important}
  h1{font-size:clamp(28px,8.8vw,38px)!important}
}

/* zone de clic tactile des curseurs */
[style*="touch-action:none"]{min-height:30px}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important}
}
