/* Pages de texte (mentions légales, rôle du CSE, commissions, mutuelle, FAQ…) : le contenu des pages reste du HTML simple
   (titres, paragraphes, listes, liens) que l'Administrateur CSE modifie avec l'éditeur ; la mise en forme vient d'ici. */
.cse-legal{max-width:900px;margin:0 auto;padding:2.5rem 1.5rem 4rem;line-height:1.75;color:#1f2937}
.cse-legal h2{font-size:1.2rem;font-weight:800;color:#064e3b;margin:2rem 0 .8rem;padding-bottom:.4rem;border-bottom:2px solid #d1fae5}
.cse-legal h3{font-size:1.05rem;font-weight:700;color:#065f46;margin:1.5rem 0 .6rem}
.cse-legal p{margin:0 0 1rem}
.cse-legal ul{margin:0 0 1rem 1.3rem;list-style:disc}
.cse-legal ol{margin:0 0 1rem 1.3rem;list-style:decimal}
.cse-legal a{color:#047857;text-decoration:underline}
.cse-legal img{max-width:100%;height:auto;border-radius:.75rem;border:1px solid #e5e7eb}
.cse-legal iframe{width:100%;height:80vh;border:1px solid #d1fae5;border-radius:.75rem}
.cse-legal table{width:100%;border-collapse:collapse;margin:0 0 1rem}
.cse-legal th,.cse-legal td{border:1px solid #d1fae5;padding:.5rem .7rem;text-align:left}
.cse-legal details{border:1px solid #d1fae5;border-radius:.75rem;margin:0 0 .75rem;background:#fff}
.cse-legal summary{cursor:pointer;padding:.9rem 1.1rem;font-weight:700;color:#064e3b}
.cse-legal details>*:not(summary){padding:0 1.1rem 1rem;margin:0}
.cse-cartes{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.cse-carte{background:#fff;border:1px solid #d1fae5;border-radius:1rem;padding:1.1rem 1.25rem}
.cse-carte ul{margin-bottom:0}

/* Bande de titre commune (même gabarit que Billetterie, Formations, Activités sociales) */
.cse-bande-titre{padding:3rem 1.5rem;background:linear-gradient(135deg,#047857 0%,#059669 100%);text-align:center}
.cse-bande-titre h1{margin:0;color:#fff;font-size:clamp(1.7rem,4vw,2.5rem);font-weight:800;line-height:1.15}
.cse-legal{padding-top:2.5rem}

/* Barre de recherche en ligne (billetterie, formations…) */
.cse-search-box--ligne{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}
.cse-search-box--ligne input[type=text]{width:auto;flex:1 1 280px}
.cse-search-box--ligne select,.cse-search-box--ligne button{width:auto;flex:0 0 auto}

/* ── Mobile ─────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
  /* bandeaux de titre compacts : le contenu doit apparaître dès le premier écran */
  .cse-page-content [style*="linear-gradient(135deg"]:has(h1), [style*="linear-gradient(135deg,#064e3b"]:has(h1) { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
  .cse-page-content [style*="linear-gradient(135deg"]:has(h1) h1, [style*="linear-gradient(135deg,#064e3b"] h1 { font-size: 1.55rem !important; margin-bottom: .35rem !important; }
  .cse-page-content [style*="linear-gradient(135deg"]:has(h1) p, [style*="linear-gradient(135deg,#064e3b"] p { font-size: .92rem !important; line-height: 1.45 !important; }
  .cse-bande-titre { padding: 1.5rem 1rem; }
  .cse-bande-titre h1 { font-size: 1.55rem; }
  /* zones tactiles confortables (≥ 40 px) */
  .cse-doc-meta a, .cse-doc-meta button { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; }
  .cse-doc-meta { grid-template-columns: 3rem auto auto auto !important; }
  /* annuaire des élus : deux par ligne */
  .cse-elu { width: calc(50% - 1rem) !important; }
  /* fiche formation : bouton « Demander des informations » visible dès le haut */
  .cse-cta-mobile { display: block !important; }
}
.cse-cta-mobile { display: none; margin: 1rem 0; text-align: center; background: #047857; color: #fff !important; font-weight: 700; padding: .85rem 1rem; border-radius: .75rem; text-decoration: none !important; }
@media (max-width: 860px) {
  .cse-form-layout { grid-template-columns: minmax(0, 1fr) !important; }
  .cse-form-filtres, .cse-form-filtres .cse-filtre-bloc { min-width: 0; max-width: 100%; }
  /* filtres des formations : thématiques en pastilles défilantes, la liste reste proche */
  .cse-form-filtres .cse-pills-col { flex-direction: row; overflow-x: auto; flex-wrap: nowrap; padding-bottom: .4rem; -webkit-overflow-scrolling: touch; }
  .cse-form-filtres .cse-pills-col .cse-thm-pill { white-space: nowrap; flex: 0 0 auto; }
  .cse-form-filtres .cse-filtre-bloc { padding: .8rem; }
}
