/* =====================================================================
   Finitions mobile et tablette — n'affecte pas l'affichage sur ordinateur
   ===================================================================== */

/* Carrousel tactile : indicateurs masqués sur grand écran */
.m-dots{display:none}

/* ---------- Tablette et mobile : menu plein écran ---------- */
@media (max-width:1080px){
  .menu{height:calc(100vh - 100%);height:calc(100dvh - 68px);overflow-y:auto;padding:12px 24px 32px;border-top:1px solid var(--line);box-shadow:none}
  .menu li{border-bottom:1px solid var(--line)}
  .menu li:last-child{border-bottom:0}
  .menu a{display:flex;justify-content:space-between;align-items:center;font-family:'Source Serif 4',Georgia,serif;font-size:1.3rem;font-weight:600;color:var(--navy);padding:18px 4px;border-bottom:0}
  .menu a:not(.btn)::after{content:"\203A";font-family:'Source Sans 3',sans-serif;font-size:1.5rem;color:#b9c4d2}
  .menu a.active{background:none;color:var(--blue)}
  .menu .btn{margin-top:24px;justify-content:center;font-family:'Source Sans 3',sans-serif;font-size:1rem;padding:16px;border-radius:999px;color:#fff}
  body.menu-open{overflow:hidden}
}

/* ---------- Mobile ---------- */
@media (max-width:720px){
  html{scroll-padding-top:72px}
  .section{padding:64px 0}
  .section-head{margin-bottom:30px}
  .section-head h2,h2[style]{font-size:1.85rem!important;line-height:1.18}
  .section-head p{font-size:1rem}
  .eyebrow{font-size:.7rem}

  /* En-tête compact */
  .nav .container{height:68px}
  .brand{gap:10px}
  .brand img{height:46px;width:46px}
  .brand b{font-size:1.2rem}

  /* Bandeau d'accueil */
  .hero{min-height:auto}
  .hero .container{padding-top:52px;padding-bottom:112px}
  .hero h1{font-size:2.4rem;margin:16px 0 18px}
  .hero p.lead{font-size:1.02rem;line-height:1.65;margin-bottom:28px}
  .hero .actions{flex-direction:column;gap:12px}
  .hero .actions .btn{width:100%;justify-content:center;padding:15px 22px}
  .badge-ministry{margin-top:26px;font-size:.78rem;padding:10px 14px;line-height:1.4}
  .hero .dots{bottom:78px;right:16px}

  /* Chiffres clés */
  .stats{margin-top:-56px}
  .stat{padding:24px 18px}
  .stat strong{font-size:1.95rem}
  .stat span{font-size:.84rem;line-height:1.35}

  /* Présentation */
  .about-grid{gap:36px}
  .about-media img{aspect-ratio:4/3}
  .about-media .img2{display:none}
  .about-media .tag{top:auto;bottom:14px;left:14px;padding:12px 16px;max-width:210px;border-radius:10px}
  .about-media .tag b{font-size:1.15rem}
  .about-media .tag small{font-size:.76rem;line-height:1.35;display:block}
  .vm{gap:12px;margin:24px 0}
  .vm div{padding:18px 18px}
  .about-text .btn{width:100%;justify-content:center}

  /* Carrousels tactiles (axes, actualités de l'accueil) */
  .m-carousel{display:flex!important;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 16px;margin:0 -16px;padding:6px 16px 10px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .m-carousel::-webkit-scrollbar{display:none}
  .m-carousel > *{flex:0 0 84%;scroll-snap-align:start}
  .m-carousel .card.featured{grid-column:auto}
  .m-carousel .card.featured .thumb{flex:none;min-height:0;aspect-ratio:16/10}
  .m-carousel .card.featured h3{font-size:1.18rem}
  .m-carousel .card:hover,.m-carousel .axe:hover{transform:none}
  .m-dots{display:flex;justify-content:center;gap:6px;margin-top:16px}
  .m-dots span{width:6px;height:6px;border-radius:3px;background:#c3ccd8;transition:width .3s,background .3s}
  .m-dots span.on{width:22px;background:var(--navy)}
  .axe{padding:28px 24px}

  /* Actualités */
  .news-head{margin-bottom:26px;gap:16px}
  .news-head .btn{padding:11px 20px;font-size:.88rem}
  .card .body{padding:20px 20px 22px}
  .card h3{font-size:1.12rem}

  /* Dons */
  .donate h2{font-size:1.85rem}
  .donate .container{gap:36px}
  .don-box{padding:24px 20px}

  /* Partenaires et bandeaux d'appel */
  .partner-cta{padding:26px 22px}
  .partner-cta h3{font-size:1.25rem}
  .partner-cta .btn,.cta-band .btn{width:100%;justify-content:center}
  .cta-band h2{font-size:1.5rem}

  /* Pages intérieures */
  .page-hero{padding:52px 0 44px}
  .page-hero h1{font-size:2.05rem;margin:14px 0 10px}
  .page-hero p{font-size:1rem}
  .split{gap:36px}
  .split img{aspect-ratio:16/11}
  .legal{padding:18px 18px;gap:14px}
  .vcard{padding:28px 22px}
  .step{padding-top:20px}
  .tree .node{min-width:0;width:100%}
  .person{padding:22px 20px}
  .doc{padding:16px 16px;gap:14px}
  .filters{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px 28px;padding:0 16px 4px;scrollbar-width:none}
  .filters::-webkit-scrollbar{display:none}
  .filters button{flex:0 0 auto}
  .article{gap:40px}
  .article .cover{margin-bottom:24px;border-radius:10px}
  .article .body h2{font-size:1.4rem;margin-top:32px}
  .article .lead{font-size:1.08rem}
  .contact-grid{gap:32px}
  .cinfo .item{padding:18px}
  .map{height:280px}
  .faq summary{font-size:.98rem}

  /* Pied de page : liens sur deux colonnes */
  footer{padding-top:56px}
  .fgrid{grid-template-columns:1fr 1fr;gap:36px 20px;padding-bottom:40px}
  .fgrid > div:first-child,.fgrid > div:last-child{grid-column:1/-1}
  .fbottom{flex-direction:column;gap:6px;text-align:center;font-size:.8rem}

  /* Animation d'ouverture */
  .pl-ring{width:160px;height:160px}
  .pl-ring img{width:118px;height:118px}
}
