/* Habillage classique : base de mise en page du site Hub d'origine */
body { font-family: 'Avenir Next', 'Segoe UI', 'Montserrat', Arial, sans-serif; color: #4c4c4c; background: #fff; }
a { color: #0079c1; }
.custom-header .navbar { margin-bottom: 0; }
.hub-page { padding: 10px 0 40px; }
.hub-page .container { max-width: 1170px; }
.hub-carte { margin-bottom: 20px; }

/* Encarts de navigation des catalogues (reprennent les styles en ligne d'origine) */
.hub-nav-carte { border: 1px solid #ccc; border-radius: 12px; padding: 20px; background-color: #f9f9f9; box-shadow: 2px 2px 8px rgba(0,0,0,0.1); font-family: Arial, sans-serif; margin-top: 20px; }
.hub-nav-carte p.titre { font-size: 18px; font-weight: bold; margin-bottom: 15px; }
.hub-nav-carte .liste { display: grid; grid-template-columns: 1fr; gap: 12px; }
.hub-nav-carte .liste a { text-decoration: none; }
.hub-nav-carte .liste a div { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 8px; cursor: pointer; font-size: 14px; }
.hub-nav-carte .liste a.actif div { outline: 2px solid currentColor; font-weight: bold; }
.hub-nav-carte .boutons { display: flex; flex-direction: column; gap: 10px; }
.hub-nav-carte .boutons a { display: block; width: 100%; padding: 12px; font-size: 14px; color: #fff; border: none; border-radius: 6px; text-align: center; text-decoration: none; }
.hub-nav-carte .boutons a.actif { box-shadow: inset 0 0 0 3px rgba(0,0,0,.25); font-weight: bold; }

/* Pied de page */
.footer-background { background: #2c3e50; color: #dfe6ec; padding: 22px 0; margin-top: 30px; font-size: 13px; }
.footer-background .nav-pills > li > a { color: #dfe6ec; padding: 6px 12px; }
.footer-background .nav-pills > li.active > a, .footer-background .nav-pills > li > a:hover { background: #F77F00; color: #fff; }
.footer-background .lien-version { display: inline-block; margin-top: 8px; color: #FFB15C; font-weight: 600; }

/* Formulaire de contact */
.hub-formulaire { border: 1px solid #ddd; border-radius: 10px; padding: 24px; background: #fefefe; box-shadow: 0 2px 5px rgba(0,0,0,0.05); margin: 20px 0; }
.hub-formulaire h3 { margin-top: 0; color: #005288; border-left: 4px solid #F77F00; padding-left: 12px; }
.hub-formulaire .piege { position: absolute; left: -5000px; }
.hub-formulaire .btn-envoyer { background: #F77F00; color: #fff; border: 0; padding: 10px 24px; border-radius: 6px; font-weight: 600; }

/* Partenaires */
.hub-partenaires { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 18px; margin: 20px 0; }
.hub-partenaire { border: 1px solid #e3e3e3; border-radius: 10px; padding: 18px; text-align: center; background: #fff; box-shadow: 0 2px 4px rgba(0,0,0,.05); color: #333; text-decoration: none; display: block; }
.hub-partenaire:hover { border-color: #F77F00; text-decoration: none; }
.hub-partenaire img { max-height: 70px; max-width: 150px; object-fit: contain; margin: 0 auto 10px; display: block; }
.hub-partenaire b { display: block; font-size: 14px; }

/* Recherche et divers */
.hub-resultat { display: block; padding: 12px 16px; border: 1px solid #e3e3e3; border-radius: 8px; margin-bottom: 10px; color: #333; }
.hub-resultat:hover { border-color: #F77F00; text-decoration: none; }
.hub-resultat small { color: #F77F00; font-weight: 600; text-transform: uppercase; }
.hub-themes { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 15px; margin: 20px 0; }
@media (max-width: 767px) { .hub-nav-carte { margin-top: 10px; } }

/* Liste des indicateurs */
.hub-filtres-indic { margin: 15px 0; display: flex; flex-wrap: wrap; gap: 8px; }
.hub-filtres-indic .form-control { min-width: 200px; }
.hub-table-indic thead th { background: #009E60; color: #fff; font-size: 12px; letter-spacing: .5px; vertical-align: middle; }
.hub-table-indic tbody th { background: #f7f7f7; }
.hub-table-indic td { font-size: 13px; }
