/* =================================================
   HUB (marques / lexique / zones / ressources / outils)
   ================================================= */
.hub-subtitle{color:var(--muted);font-size:var(--fs-h5)}
.hub-content{margin-top:var(--s-5)}

/* Search — border-bottom style (mega menu inspired) */
.hub-search{position:relative;margin-bottom:var(--s-8);border-bottom:1px solid var(--gris-fonce);transition:border-color .2s}
.hub-search:focus-within{border-bottom-color:var(--bleu-principal)}
.hub-search__input{width:100%;padding:var(--s-4) 3rem var(--s-4) 0;font-size:var(--fs-h5);font-family:'General Sans',sans-serif;border:none;background:transparent;color:var(--text);outline:none}
.hub-search__input::placeholder{color:var(--muted);font-weight:400}
.hub-search__icon{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.25rem;color:var(--muted);pointer-events:none;transition:color .2s}
.hub-search:focus-within .hub-search__icon{color:var(--bleu-principal)}
.hub-no-results{text-align:center;color:var(--muted);padding:var(--s-8) 0;font-size:var(--fs-h5)}

/* Grid — flat, no letter sections */
.hub-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5)}
@media (min-width:600px){.hub-grid{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr))}}
.hub-item{margin:0}
.hub-item[hidden]{display:none}
.hub-card{display:flex;flex-direction:column;border-radius:var(--r-md);text-decoration:none;color:var(--text);overflow:hidden;border:1px solid rgba(0,0,0,.06);transition:box-shadow .25s,transform .25s}
.hub-card:hover{box-shadow:0 6px 24px rgba(15,24,46,.08);transform:translateY(-2px)}

/* Thumbnail — par défaut : full-width cover (zones, ressources, outils, lexique) */
.hub-thumb{display:flex;aspect-ratio:16/10;overflow:hidden;background:var(--gris)}
.hub-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.hub-card:hover .hub-thumb img{transform:scale(1.04)}
.hub-thumb__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;color:var(--blanc);background:var(--bleu-principal);border-radius:var(--r-sm)}

/* Thumbnail variant — logos : contain + padding + fond blanc (marques) */
.hub-grid--logos .hub-thumb{background:var(--blanc);align-items:center;justify-content:center;padding:var(--s-4)}
.hub-grid--logos .hub-thumb img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}

/* Card body (span — needs display:block) */
.hub-card__body{display:block;padding:var(--s-4)}
.hub-name{display:block;font-weight:600;font-size:var(--fs-body)}
.hub-desc{display:block;font-size:var(--fs-small);color:var(--muted);line-height:var(--lh-small);margin-top:var(--s-1)}
.hub-empty{margin-top:var(--s-4);color:var(--muted)}
