/* Page « Activités en Belgique » (s'ajoute à nos-partenaires.css) */
.ab-steps { display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem; margin: 1.1rem 0 0; padding: 0; list-style: none; color: var(--c-ink); font-weight: 600; }
.ab-steps li { display: flex; align-items: center; gap: 0.5rem; }
.ab-steps span { display: inline-grid; place-items: center; width: 1.7rem; height: 1.7rem; border-radius: 50%; background: var(--c-amber); color: var(--c-ink); font-size: 0.9rem; }
.ab-selects { display: flex; flex-wrap: wrap; gap: 0.75rem 1.25rem; }
.ab-card { position: relative; transition: box-shadow 0.15s, border-color 0.15s; }
.ab-card.is-selected { border-color: var(--c-sign); box-shadow: 0 0 0 2px var(--c-sign), 0 6px 18px rgba(69, 9, 15, 0.12); }
.ab-card__media { position: relative; aspect-ratio: 3 / 2; background: var(--c-mist); border-bottom: 1px solid var(--c-line); overflow: hidden; }
.ab-card__media--logo { background: #fff; display: grid; place-items: center; }
.ab-card__media.np-card__logo--name { background: linear-gradient(135deg, var(--c-sign), var(--c-deep)); }
.ab-card__photo { display: block; width: 100%; height: 100%; object-fit: cover; }
.ab-card__logoimg { display: block; width: 100%; aspect-ratio: 2 / 1; object-fit: contain; }
.ab-card__logoimg.is-svg { box-sizing: border-box; padding: 5%; }
.ab-card__logo { position: absolute; right: 0.6rem; bottom: 0.6rem; display: block; width: 6.5rem; aspect-ratio: 2 / 1; border-radius: 6px; background: #fff; box-shadow: 0 2px 10px rgba(38, 26, 28, 0.25); overflow: hidden; }
.ab-card__logo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ab-card__logo.is-svg img { box-sizing: border-box; padding: 5%; }
.ab-card__cat { position: absolute; top: 0.6rem; left: 0.6rem; display: inline-flex; align-items: center; gap: 0.3rem; padding: 0.22rem 0.65rem; border-radius: 999px; background: rgba(255, 255, 255, 0.95); color: var(--c-sign); font-size: 0.8rem; font-weight: 700; box-shadow: 0 1px 4px rgba(38, 26, 28, 0.12); }
.ab-card .np-card__body { flex: 1; }
.ab-facts { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.35rem 0 0; padding: 0; list-style: none; }
.ab-facts li { padding: 0.15rem 0.55rem; border-radius: 999px; background: var(--c-mist); color: var(--c-ink); font-size: 0.82rem; }
.ab-add { margin-top: 0.7rem; justify-self: start; }
.ab-add::before { content: "+"; margin-right: 0.4em; font-weight: 700; }
.ab-add.is-on { border-color: var(--c-sign); background: var(--c-sign); color: #fff; }
.ab-add.is-on::before { content: "✓"; }
.ab-quote { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: 1.5rem 2rem; padding: 1.5rem; border: 1px solid var(--c-line); border-radius: 14px; background: #fff; scroll-margin-top: 1rem; }
.ab-quote__head { grid-column: 1 / -1; }
.ab-quote__head h2 { margin: 0 0 0.3rem; color: var(--c-deep); }
.ab-quote__head p { margin: 0; color: var(--c-muted); }
.ab-sel { align-self: start; padding: 1rem 1.1rem; border-radius: 12px; background: var(--c-mist); }
.ab-sel__title { margin: 0 0 0.5rem; font-family: var(--font-display); font-weight: 700; color: var(--c-deep); }
.ab-sel__title span { display: inline-grid; place-items: center; min-width: 1.6rem; height: 1.6rem; margin-left: 0.3rem; padding: 0 0.35rem; border-radius: 999px; background: var(--c-sign); color: #fff; font-size: 0.85rem; }
.ab-sel__empty { margin: 0; color: var(--c-muted); font-size: 0.95rem; }
.ab-sel__empty[hidden] { display: none; }
.ab-sel__list { display: grid; gap: 0.4rem; margin: 0; padding: 0; list-style: none; }
.ab-sel__list li { display: flex; align-items: center; justify-content: space-between; gap: 0.6rem; padding: 0.45rem 0.6rem; border-radius: 8px; background: #fff; font-size: 0.95rem; }
.ab-sel__rm { flex: none; padding: 0.2rem 0.55rem; border: 1px solid var(--c-line); border-radius: 999px; background: #fff; color: var(--c-sign); font: inherit; font-size: 0.82rem; cursor: pointer; }
.ab-sel__rm:hover { border-color: var(--c-sign); }
.ab-form .request { margin: 0; }
.ab-float { position: fixed; right: 1rem; bottom: 1rem; z-index: 40; display: inline-flex; align-items: center; gap: 0.75rem; padding: 0.75rem 1.1rem; border-radius: 999px; background: var(--c-deep); color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 8px 24px rgba(38, 26, 28, 0.3); }
.ab-float[hidden] { display: none; }
.ab-float:hover, .ab-float:focus-visible { background: var(--c-sign); color: #fff; }
.ab-float__cta { padding-left: 0.75rem; border-left: 1px solid rgba(255, 255, 255, 0.35); color: var(--c-amber); }
@media (max-width: 47.999em) {
    .ab-quote { grid-template-columns: minmax(0, 1fr); padding: 1rem; }
    .ab { grid-template-columns: minmax(0, 1fr); }
    .ab-filters { min-width: 0; }
    .ab-filters .np-chips { width: 100%; min-width: 0; box-sizing: content-box; flex-wrap: nowrap; overflow-x: auto; margin: 0 -0.75rem; padding: 0 0.75rem 0.4rem; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
    .ab-filters .np-chip { flex: none; white-space: nowrap; }
    .ab-selects { width: 100%; }
    .ab-float { left: 1rem; right: 1rem; justify-content: space-between; padding: 0.7rem 1rem; font-size: 0.92rem; }
    .ab-float__cta { font-size: 0.88rem; }
}

/* Encadré lien vers le catalogue (Nos partenaires, Groupes constitués → Belgique) */
.ab-link { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin: 1.5rem 0; padding: 1.1rem 1.3rem; border: 1px solid var(--c-line); border-left: 4px solid var(--c-amber); border-radius: 12px; background: var(--c-mist); }
.ab-link__icon { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border-radius: 50%; background: #fff; color: var(--c-sign); flex: none; }
.ab-link__text { flex: 1 1 18rem; min-width: 0; }
.ab-link__text p { margin: 0; color: var(--c-muted); }
.ab-link__text .ab-link__title { margin-bottom: 0.2rem; font-family: var(--font-display); font-weight: 700; font-size: 1.1rem; color: var(--c-deep); }
