/* =====================================================
   MaPêcheConnect - MOBILE.CSS FINAL PROPRE
   Header non modifié
===================================================== */

@media(max-width:1200px){

  *{box-sizing:border-box!important}

  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }

  img,svg,video,canvas,iframe{
    max-width:100%!important;
  }

  /* MÊME LARGEUR / MARGE SUR TOUTES LES PAGES */
  .premium-container,
  .container,
  .enduros-page,
  .services-page,
  .tarifs-page,
  .legal-page,
  .auth-shell,
  .maintenance-shell,
  .scan-shell,
  .register-shell{
    width:min(100% - 32px,1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  main,
  section{
    max-width:100%!important;
  }

  /* HERO IDENTIQUE */
  .premium-hero,
  .services-hero,
  .enduros-premium-hero,
  body.page-services .services-hero,
  body.page-enduros .enduros-premium-hero{
    width:100%!important;
    min-height:auto!important;
    padding:96px 0 26px!important;
    display:block!important;
  }

  .hero-shell,
  .services-hero-shell,
  .enduros-hero-shell{
    width:100%!important;
    max-width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .hero-copy,
  .services-hero-copy,
  .enduros-hero-copy{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:20px 0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  .hero-copy h1,
  .services-hero-copy h1,
  .enduros-hero-copy h1{
    font-size:clamp(40px,10vw,64px)!important;
    line-height:.98!important;
    margin-bottom:16px!important;
  }

  .hero-copy p,
  .services-hero-copy p,
  .enduros-hero-copy p{
    max-width:100%!important;
    font-size:16px!important;
    line-height:1.6!important;
  }

  /* CARDS IDENTIQUES */
  .card-ui,
  .glass-panel,
  .page-card,
  .auth-card,
  .hero-card,
  .pricing,
  .service-main-card,
  .service-card,
  .service-modern-card,
  .mini-tarifs-card,
  .legal-card,
  .maintenance-card,
  .scan-card,
  .register-card,
  .plan-card,
  .pricing-table,
  .pricing-row,
  .tariffs-modern-card,
  .enduros-list-card,
  .enduro-item,
  .ranking-card,
  .feature-row article{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    background:linear-gradient(145deg,rgba(15,14,27,.72),rgba(4,5,12,.60))!important;
    border:1px solid rgba(255,255,255,.10)!important;
    border-radius:26px!important;
    box-shadow:0 18px 54px rgba(0,0,0,.34)!important;
  }

  .feature-row,
  .services-modern-grid,
  .tariffs-modern-grid,
  .cards-grid,
  .services-grid,
  .mini-tarifs-grid,
  .register-row,
  .form-grid,
  .form-grid.two,
  .pricing-grid,
  .contest-grid{
    width:100%!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:16px!important;
  }

  .feature-row article,
  .service-modern-card,
  .service-card,
  .mini-tarifs-card,
  .tariffs-modern-card{
    min-height:auto!important;
    padding:22px!important;
  }

  /* BOUTONS */
  .hero-actions,
  .auth-actions,
  .step-actions{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  .btn-premium,
  .btn-primary,
  .btn-outline,
  .btn-main,
  .btn-secondary,
  .hero-action-btn,
  .auth-btn,
  .step-btn,
  .auth-actions button,
  .auth-create{
    width:100%!important;
    min-height:54px!important;
    padding:0 16px!important;
    border-radius:16px!important;
    font-size:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  /* ACCUEIL */
  .hero-stats{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,1fr)!important;
    gap:12px!important;
    margin-top:24px!important;
  }

  .hero-stats div{
    min-height:90px!important;
    padding:14px!important;
    border-radius:18px!important;
  }

  .event-float-card{
    width:100%!important;
    margin:18px 0 0!important;
    padding:22px!important;
    border-radius:26px!important;
    animation:eventFloat 6s ease-in-out infinite!important;
  }

  .live-section{
    width:100%!important;
    display:block!important;
    padding-top:28px!important;
  }

  .section-intro{
    margin-bottom:18px!important;
  }

  .section-intro h2{
    font-size:34px!important;
  }

  .premium-gallery .competition-card{
    min-height:280px!important;
  }

  /* FORMULAIRES */
  .auth-shell,
  .maintenance-shell,
  .scan-shell,
  .register-shell{
    padding-top:96px!important;
    padding-bottom:28px!important;
    min-height:auto!important;
    display:flex!important;
    justify-content:center!important;
    align-items:flex-start!important;
  }

  .auth-card,
  .service-main-card,
  .maintenance-card,
  .scan-card,
  .legal-card,
  .register-card,
  .ranking-card{
    padding:24px!important;
  }

  input,
  textarea,
  select,
  .auth-form input,
  .form-field input,
  .form-field textarea{
    width:100%!important;
    min-height:54px!important;
    border-radius:16px!important;
    font-size:15px!important;
  }

  textarea{
    min-height:110px!important;
    padding-top:14px!important;
  }

  /* =====================================================
     PAGE ENDUROS : CARTE COMME DESKTOP
  ===================================================== */

  body.page-enduros .premium-container,
  body.page-enduros .container,
  body.page-enduros .enduros-page{
    width:min(100% - 32px,1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  .enduros-page{
    padding-bottom:40px!important;
  }

  .enduros-layout{
    width:100%!important;
    margin-top:18px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:22px!important;
    overflow:visible!important;
  }

  .enduros-map-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    position:relative!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }

  .enduros-map-head{
    display:none!important;
  }

  #endurosMap{
    width:100%!important;
    height:760px!important;
    min-height:760px!important;
    background:transparent!important;
    border-radius:0!important;
    overflow:visible!important;
    position:relative!important;
    z-index:3!important;
  }

  .leaflet-container{
    background:transparent!important;
    overflow:visible!important;
  }

  .leaflet-map-pane{
    transform:translate3d(0,-80px,0)!important;
  }

  .leaflet-control-attribution,
  .leaflet-control-zoom{
    display:none!important;
  }

  /* CONTOUR OR FRANCE */
  .leaflet-overlay-pane svg path{
    stroke:#d99b2e!important;
    stroke-width:2.4!important;
    stroke-opacity:1!important;
    fill:rgba(5,18,20,.72)!important;
    fill-opacity:.92!important;
  }

  .mpc-labels-pane img{
    filter:grayscale(1) brightness(2.1) contrast(.85)!important;
  }

  .reset-france-map{
    position:absolute!important;
    top:16px!important;
    right:16px!important;
    z-index:999!important;
    border:1px solid rgba(243,213,138,.85)!important;
    background:#05070c!important;
    color:#f3d58a!important;
    padding:10px 16px!important;
    border-radius:999px!important;
    font-size:12px!important;
    font-weight:900!important;
  }

  .enduros-list-card{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }

  .enduros-list-head{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    padding:18px!important;
    border-bottom:1px solid rgba(255,255,255,.10)!important;
  }

  .enduros-list{
    width:100%!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:16px!important;
    padding:16px!important;
  }

  .enduro-item{
    min-height:430px!important;
    height:100%!important;
    padding:20px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
    border-radius:24px!important;
  }

  .enduro-item-top{
    width:100%!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    text-align:center!important;
    gap:12px!important;
  }

  .enduro-association-name{
    width:100%!important;
    color:#fff!important;
    font-size:15px!important;
    font-weight:950!important;
    line-height:1.25!important;
    text-align:center!important;
    min-height:38px!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }

  .enduro-logo-status-row{
    width:100%!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:12px!important;
  }

  .enduro-logo-wrap,
  .enduro-logo-wrap img,
  .enduro-logo-wrap span{
    width:58px!important;
    height:58px!important;
    flex:0 0 58px!important;
    border-radius:18px!important;
    object-fit:cover!important;
  }

  .enduro-status{
    position:static!important;
    min-width:86px!important;
    padding:7px 10px!important;
    font-size:10px!important;
    border-radius:999px!important;
    white-space:nowrap!important;
  }

  .enduro-title-block{
    width:100%!important;
  }

  .enduro-title-block h3{
    margin:0!important;
    width:100%!important;
    font-size:20px!important;
    line-height:1.12!important;
    text-align:center!important;
    min-height:68px!important;
    max-height:68px!important;
    overflow:hidden!important;
    display:-webkit-box!important;
    -webkit-line-clamp:3!important;
    -webkit-box-orient:vertical!important;
  }

  .enduro-title-block p{
    margin-top:6px!important;
    font-size:14px!important;
    text-align:center!important;
  }

  .enduro-info-grid{
    width:100%!important;
    min-height:96px!important;
    margin-top:16px!important;
    display:grid!important;
    gap:8px!important;
    text-align:left!important;
  }

  .enduro-info-grid span{
    width:100%!important;
    font-size:13px!important;
    line-height:1.35!important;
    white-space:normal!important;
  }

  .enduro-actions{
    margin-top:auto!important;
    padding-top:18px!important;
    width:100%!important;
    min-height:110px!important;
    display:grid!important;
    grid-template-rows:48px 48px!important;
    gap:12px!important;
    align-content:end!important;
  }

  .enduro-actions::after{
    content:""!important;
    display:block!important;
  }

  .enduro-actions:has(.ranking-blink)::after{
    display:none!important;
  }

  .enduro-btn{
    width:100%!important;
    max-width:100%!important;
    min-height:48px!important;
    padding:0 14px!important;
    border-radius:14px!important;
    font-size:14px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  table{
    width:100%!important;
    max-width:100%!important;
    display:block!important;
    overflow-x:auto!important;
  }

  .card-hover:hover,
  .service-modern-card:hover,
  .enduro-item:hover,
  .enduro-item.active,
  .feature-row article:hover,
  .premium-gallery .competition-card:hover,
  .tariffs-modern-grid div:hover{
    transform:none!important;
  }
}

@media(max-width:760px){

  .premium-container,
  .container,
  .enduros-page,
  .services-page,
  .tarifs-page,
  .legal-page,
  .auth-shell,
  .maintenance-shell,
  .scan-shell,
  .register-shell{
    width:calc(100% - 32px)!important;
  }

  .premium-hero,
  .services-hero,
  .enduros-premium-hero,
  body.page-services .services-hero,
  body.page-enduros .enduros-premium-hero{
    padding-top:88px!important;
  }

  .hero-copy h1,
  .services-hero-copy h1,
  .enduros-hero-copy h1{
    font-size:38px!important;
  }

  .hero-copy p,
  .services-hero-copy p,
  .enduros-hero-copy p{
    font-size:14px!important;
  }

  #endurosMap{
    height:640px!important;
    min-height:640px!important;
  }

  .leaflet-map-pane{
    transform:translate3d(0,-65px,0)!important;
  }

  .enduros-list{
    grid-template-columns:1fr!important;
  }

  .enduro-item{
    min-height:auto!important;
  }
}
/* Enlever la card autour du hero sur index uniquement */
@media(max-width:1200px){

  body.page-home .hero-copy,
  body.page-home .hero-card,
  body.page-home .glass-panel,
  body.page-home .page-card{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }

  body.page-home .hero-shell{
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
}
@media(max-width:430px){

  .premium-container,
  .container,
  .enduros-page,
  .services-page,
  .tarifs-page,
  .legal-page,
  .auth-shell,
  .maintenance-shell,
  .scan-shell,
  .register-shell{
    width:calc(100% - 28px)!important;
  }

  .hero-copy h1,
  .services-hero-copy h1,
  .enduros-hero-copy h1{
    font-size:34px!important;
  }

  #endurosMap{
    height:590px!important;
    min-height:590px!important;
  }

  .leaflet-map-pane{
    transform:translate3d(0,-55px,0)!important;
  }

  .hero-stats{
    grid-template-columns:1fr!important;
  }

  .enduro-title-block h3{
    font-size:18px!important;
  }
}
/* Index mobile : marges plus petites */
@media(max-width:1200px){

  body.page-home .premium-container,
  body.page-home .container{
    width:calc(100% - 16px)!important;
  }

  body.page-home .premium-hero{
    padding-top:82px!important;
    padding-bottom:14px!important;
  }

  body.page-home .hero-copy{
    padding-top:8px!important;
    padding-bottom:10px!important;
  }

  body.page-home .hero-actions{
    margin-top:18px!important;
  }

  body.page-home .hero-stats{
    margin-top:16px!important;
    gap:10px!important;
  }
}

@media(max-width:430px){

  body.page-home .premium-container,
  body.page-home .container{
    width:calc(100% - 12px)!important;
  }
}
/* INDEX IDENTIQUE AUX AUTRES PAGES */
@media(max-width:1200px){

  body.page-home .premium-container,
  body.page-home .container{
    width:min(100% - 32px,1180px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.page-home .premium-hero{
    padding:96px 0 26px!important;
  }

  body.page-home .hero-copy{
    padding:20px 0!important;
  }

  body.page-home .hero-copy h1{
    font-size:clamp(40px,10vw,64px)!important;
    line-height:.98!important;
    margin-bottom:16px!important;
  }

  body.page-home .hero-copy p{
    font-size:16px!important;
    line-height:1.6!important;
  }

  body.page-home .hero-actions{
    margin-top:24px!important;
  }

  body.page-home .hero-stats{
    margin-top:24px!important;
    gap:12px!important;
  }
}

@media(max-width:760px){

  body.page-home .premium-container,
  body.page-home .container{
    width:calc(100% - 32px)!important;
  }

  body.page-home .premium-hero{
    padding-top:88px!important;
  }

  body.page-home .hero-copy h1{
    font-size:38px!important;
  }

  body.page-home .hero-copy p{
    font-size:14px!important;
  }
}

@media(max-width:430px){

  body.page-home .premium-container,
  body.page-home .container{
    width:calc(100% - 28px)!important;
  }

  body.page-home .hero-copy h1{
    font-size:34px!important;
  }
}
/* INDEX : même largeur que services */
@media(max-width:1200px){

  body.page-home .premium-container,
  body.page-home .container,
  body.page-home .hero-shell,
  body.page-home .feature-row,
  body.page-home .live-section{
    width:calc(100% - 56px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  body.page-home .premium-hero{
    padding-left:0!important;
    padding-right:0!important;
  }
}

@media(max-width:760px){

  body.page-home .premium-container,
  body.page-home .container,
  body.page-home .hero-shell,
  body.page-home .feature-row,
  body.page-home .live-section{
    width:calc(100% - 56px)!important;
  }
}

@media(max-width:430px){

  body.page-home .premium-container,
  body.page-home .container,
  body.page-home .hero-shell,
  body.page-home .feature-row,
  body.page-home .live-section{
    width:calc(100% - 48px)!important;
  }
}
@media(max-width:900px){
    .ranking-premium-layout{
        grid-template-columns:1fr;
    }

    .ranking-row-premium{
        grid-template-columns:64px 1fr;
    }

    .ranking-weight{
        grid-column:2;
        text-align:left;
    }

    .ranking-live-head{
        flex-direction:column;
    }
}

/* =====================================================
   FIX FINAL ENDUROS MOBILE
   Même largeur / alignement que la page accueil
   A garder TOUT EN BAS du fichier mobile.css
===================================================== */

@media(max-width:800px){

  body.page-enduros .premium-container,
  body.page-enduros .container,
  body.page-enduros .enduros-hero-shell,
  body.page-enduros .enduros-layout{
    width:calc(100% - 56px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.page-enduros .enduros-page{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.page-enduros .enduros-premium-hero{
    width:100%!important;
    padding:88px 0 0!important;
    margin:0!important;
  }

  body.page-enduros .enduros-hero-shell{
    display:block!important;
  }

  body.page-enduros .enduros-hero-copy{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:20px 0 8px!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }

  body.page-enduros .enduros-hero-copy h1{
    max-width:330px!important;
    font-size:38px!important;
    line-height:.95!important;
    margin:0 0 14px!important;
  }

  body.page-enduros .enduros-hero-copy p{
    max-width:330px!important;
    font-size:14px!important;
    line-height:1.55!important;
    margin:0!important;
  }

  body.page-enduros .enduros-layout{
    display:flex!important;
    flex-direction:column!important;
    gap:0!important;
    overflow:visible!important;
  }

  body.page-enduros .enduros-map-card{
    width:100%!important;
    height:500px!important;
    min-height:500px!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    border-radius:0!important;
  }

  body.page-enduros #endurosMap{
    width:100%!important;
    height:500px!important;
    min-height:500px!important;
    overflow:hidden!important;
    background:transparent!important;
    border-radius:0!important;
  }

  body.page-enduros .leaflet-map-pane{
    transform:none!important;
  }

  body.page-enduros .leaflet-container{
    background:transparent!important;
    overflow:hidden!important;
  }

  body.page-enduros .enduros-list-card{
    width:100%!important;
    max-width:100%!important;
    margin:-20px 0 40px!important;
    max-height:none!important;
    overflow:hidden!important;
    border-radius:24px!important;
  }

  body.page-enduros .enduros-list{
    grid-template-columns:1fr!important;
    padding:14px!important;
  }

}

@media(max-width:480px){

  body.page-enduros .premium-container,
  body.page-enduros .container,
  body.page-enduros .enduros-hero-shell,
  body.page-enduros .enduros-layout{
    width:calc(100% - 48px)!important;
  }

  body.page-enduros .enduros-hero-copy{
    padding-left:0!important;
    padding-right:0!important;
  }

  body.page-enduros .enduros-map-card,
  body.page-enduros #endurosMap{
    height:470px!important;
    min-height:470px!important;
  }

}
@media(max-width:760px){

  body.page-home .event-float-card{
    padding:14px 14px!important;
    margin-top:14px!important;
    border-radius:20px!important;
  }

  body.page-home .event-label{
    margin-top:10px!important;
    margin-bottom:8px!important;
    font-size:10px!important;
  }

  body.page-home .home-enduro-item{
    padding-right:52px!important;
  }

  body.page-home .home-enduro-logo-row h2{
    font-size:16px!important;
    line-height:1.08!important;
    max-width:200px!important;
    margin:4px 0!important;
  }

  body.page-home .home-enduro-title{
    font-size:12px!important;
    line-height:1.25!important;
    margin:2px 0 0!important;
  }

  body.page-home .home-enduro-logo-row img{
    width:40px!important;
    height:40px!important;
    border-radius:12px!important;
    top:4px!important;
  }

  body.page-home .event-float-card{
      width:88%!important;
      max-width:300px!important;
      margin:14px auto 0!important;
      padding:14px!important;
      border-radius:20px!important;
  }

}
@media(max-width:800px){

  body.page-enduros .premium-container,
  body.page-enduros .container,
  body.page-enduros .enduros-hero-shell,
  body.page-enduros .enduros-layout{
    width:calc(100% - 48px)!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    padding-left:0!important;
    padding-right:0!important;
  }

  body.page-enduros .enduros-hero-copy{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:20px 8px 8px!important;
    transform:none!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
}

@media(max-width:480px){

  body.page-enduros .premium-container,
  body.page-enduros .container,
  body.page-enduros .enduros-hero-shell,
  body.page-enduros .enduros-layout{
    width:calc(100% - 40px)!important;
  }

  body.page-enduros .enduros-hero-copy{
    padding-left:8px!important;
    padding-right:8px!important;
  }
}
@media(max-width:720px){
    #reader{
        height:310px;
    }

    #reader video,
    #reader__scan_region{
        height:310px !important;
        min-height:310px !important;
    }
}