/* Fabien Building Academy — adaptation mobile ciblée
   Desktop reste inchangé. */
.fb-mobile-menu-toggle{display:none}
@media (max-width: 767px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:14px}
  img,video,iframe{max-width:100%;height:auto}
  .topbar{position:sticky;top:0;z-index:1000;min-height:58px;height:auto!important;padding:10px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:10px!important;background:#fff!important}
  .topbar .brand{min-width:0;display:flex!important;align-items:center!important;gap:8px!important}
  .topbar .brand span{font-size:12px!important;line-height:1.15!important;white-space:normal!important;max-width:190px!important}
  .topbar .logo,.topbar .logo-img{width:32px!important;height:32px!important;flex:0 0 32px!important}
  .fb-mobile-menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;width:42px;height:42px;border:0;border-radius:8px;background:#071e66;color:#fff;font-size:24px;line-height:1;cursor:pointer;flex:0 0 42px}
  .topbar nav{display:none!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;background:#fff!important;box-shadow:0 12px 24px rgba(0,20,80,.16)!important;padding:10px 14px 14px!important;z-index:1001!important;border-top:1px solid #e4e8f0!important}
  .topbar.fb-mobile-open nav{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:4px!important}
  .topbar nav a{display:block!important;padding:12px 10px!important;border-radius:7px!important;font-size:14px!important;color:#071e66!important;text-decoration:none!important}
  .topbar nav a:active,.topbar nav a:focus{background:#f1f5ff!important}

  .ticker{min-height:32px!important;height:auto!important;font-size:11px!important}
  .ticker b{height:32px!important;padding:0 8px!important;font-size:11px!important}
  .ticker-window{height:32px!important}
  .ticker-track{font-size:11px!important;gap:16px!important;animation-duration:30s!important}

  main{width:100%;overflow:hidden}
  .section{padding:34px 16px!important}
  .section h2{font-size:22px!important;line-height:1.2!important;margin-bottom:12px!important}
  .section .intro{font-size:13px!important;line-height:1.55!important;margin-left:auto!important;margin-right:auto!important}

  .hero{min-height:470px!important;height:auto!important;display:flex!important;align-items:flex-end!important;padding:0!important;overflow:hidden!important}
  .hero-bg{position:absolute!important;inset:0!important;width:100%!important;height:100%!important}
  .hero-content{position:relative!important;width:100%!important;padding:110px 18px 34px!important;text-align:left!important}
  .hero-content .eyebrow{font-size:13px!important}
  .hero-content h1{font-size:27px!important;line-height:1.12!important;margin:8px 0 14px!important}
  .hero-content p{font-size:14px!important;line-height:1.6!important;max-width:100%!important}

  .stats.overlap,.stats{position:relative!important;margin:0!important;transform:none!important;padding:20px 16px 28px!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
  .stats article{min-width:0!important;padding:14px 10px!important;min-height:168px!important}
  .stats article h3{font-size:14px!important}
  .stats article p{font-size:11px!important;line-height:1.4!important}
  .stats .round{width:44px!important;height:44px!important;font-size:19px!important}

  /* Carrousels tactiles : une carte principale à la fois */
  .fb-mobile-scroll{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    padding:4px 4px 18px!important;
    margin-left:-4px!important;
    margin-right:-4px!important;
    scrollbar-width:none!important;
    align-items:stretch!important;
  }
  .fb-mobile-scroll::-webkit-scrollbar{display:none!important}
  .fb-mobile-scroll > *{flex:0 0 88%!important;width:88%!important;max-width:88%!important;scroll-snap-align:center!important;scroll-snap-stop:always!important;box-sizing:border-box!important;margin:0!important}
  .fb-mobile-scroll > [hidden]{display:flex!important}
  .fb-mobile-scroll .fb-carousel-arrow{display:none!important}
  .fb-mobile-scroll .more-card,.fb-mobile-scroll .side-more,.fb-mobile-scroll .trainer-more-card{display:flex!important}
  .fb-mobile-scroll .program,.fb-mobile-scroll .soft,.fb-mobile-scroll .trainer,.fb-mobile-scroll .gallery-card,.fb-mobile-scroll .cert-card,.fb-mobile-scroll .course-card,.fb-mobile-scroll .see-more,.fb-mobile-scroll article{height:auto!important;min-height:unset!important}
  .fb-mobile-scroll .media,.fb-mobile-scroll .training-card-media{width:100%!important}

  #programmes .programs > *{flex-basis:90%!important;width:90%!important;max-width:90%!important}
  #logiciels .soft-grid > *{flex-basis:82%!important;width:82%!important;max-width:82%!important}
  #services .course-grid > *{flex-basis:86%!important;width:86%!important;max-width:86%!important}
  #formateurs .trainer-grid > *{flex-basis:84%!important;width:84%!important;max-width:84%!important}
  .media-zone .video-grid > *,.media-zone .whatsapp-grid > *{flex-basis:88%!important;width:88%!important;max-width:88%!important}
  .gallery .grid > *{flex-basis:86%!important;width:86%!important;max-width:86%!important}
  .cert-grid > *{flex-basis:86%!important;width:86%!important;max-width:86%!important}
  .partner-grid > *{flex-basis:68%!important;width:68%!important;max-width:68%!important}
  .news-grid > *,.news .grid > *{flex-basis:88%!important;width:88%!important;max-width:88%!important}

  /* Sections de lecture : verticales */
  .why-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .why-grid > *{width:100%!important;max-width:none!important}
  .fb-faq-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important}
  .process-line{display:flex!important;flex-direction:column!important;gap:14px!important;align-items:stretch!important}
  .process-line .step{width:100%!important;max-width:none!important;min-height:0!important}
  .process-line .step::after{display:none!important}

  /* Pages détaillées / En savoir plus */
  .formation-main,.course-page-main,.auth-main{width:100%!important;max-width:100%!important;overflow:hidden!important}
  .formation-hero,.course-hero-page{min-height:300px!important;height:auto!important;padding:78px 16px 28px!important}
  .formation-hero h1,.course-hero-page h1{font-size:26px!important;line-height:1.18!important}
  .formation-kpis,.formation-info-grid,.pricing-lite-grid,.planning-v22-grid,.cert-lite-grid,.formation-logo-row,.platform-v22-row,.course-stats,.course-library-grid,.course-grid{grid-template-columns:1fr!important;display:grid!important;gap:14px!important}
  .formation-kpis > *,.formation-info-grid > *,.pricing-lite-grid > *,.planning-v22-grid > *,.cert-lite-grid > *,.platform-v22-row > *{width:100%!important;max-width:none!important}
  .formation-meta-line{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
  .formation-program-detail .module-card{grid-template-columns:76px 1fr auto!important;gap:10px!important;padding:12px!important}
  .formation-program-detail .module-img{width:76px!important;height:76px!important}
  .formation-program-detail .module-card h3{font-size:13px!important}
  .formation-program-detail .module-card p{font-size:12px!important}
  .planning-card-v22{overflow:hidden!important}
  .planning-card-v22 table{display:block!important;overflow-x:auto!important;width:100%!important}
  .planning-card-v22 th,.planning-card-v22 td{font-size:11px!important;padding:8px 6px!important}
  .course-detail-article,.event-detail-article,.download-pdf-box,.auth-card{width:auto!important;max-width:100%!important;margin-left:14px!important;margin-right:14px!important;padding:18px!important;box-sizing:border-box!important}
  .course-detail-article h1,.event-detail-article h1{font-size:25px!important;line-height:1.2!important}
  .course-detail-article table,.event-detail-article table{display:block!important;overflow-x:auto!important}

  /* Pied de page mobile */
  .site-footer .footer-inner{display:flex!important;flex-direction:column!important;gap:24px!important;padding:30px 20px 22px!important}
  .site-footer .footer-col{width:100%!important;max-width:none!important}
  .site-footer .footer-col h3{font-size:15px!important;margin-bottom:10px!important}
  .site-footer .footer-col a,.site-footer .footer-col p{font-size:12px!important;line-height:1.65!important}
  .site-footer .footer-col a{display:block!important}
  .contact-line{white-space:normal!important;align-items:flex-start!important}
  .socials.small{display:flex!important;flex-wrap:wrap!important;gap:10px!important}
  .newsletter input,.newsletter button{width:100%!important;box-sizing:border-box!important;margin:5px 0!important}
  .site-footer .footer-final-line{padding:16px 20px!important;display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important;gap:10px!important}
  .footer-final-line .footer-legal-links{display:flex!important;flex-direction:column!important;gap:8px!important;white-space:normal!important}
  .footer-final-line .footer-legal-links span{display:none!important}

  /* Sécurité anti-débordement */
  .grid,.soft-grid,.trainer-grid,.video-grid,.whatsapp-grid,.partner-grid,.cert-grid{max-width:100%!important}
  table{max-width:100%!important}
  input,select,textarea,button{max-width:100%}
}

@media (max-width: 390px){
  .topbar .brand span{font-size:11px!important;max-width:155px!important}
  .hero-content h1{font-size:24px!important}
  .stats.overlap,.stats{grid-template-columns:1fr!important}
  .stats article{min-height:0!important}
  .fb-mobile-scroll > *{flex-basis:92%!important;width:92%!important;max-width:92%!important}
}
