/* ZikPawa — mises en avant (jetons de la Boutique). */
.zp-block .zb-section-head { align-items: flex-start; }
.zp-sub { margin: 2px 0 0; color: var(--zb-muted); font-size: .88rem; }
.zp-tag { flex: none; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--zb-muted); border: 1px solid var(--zb-border); border-radius: 999px; padding: 3px 10px; }
.zp-badge { position: absolute; left: 10px; bottom: 10px; background: rgba(15, 36, 16, .82); color: #fff; font-size: .7rem; font-weight: 700; padding: 3px 9px; border-radius: 999px; letter-spacing: .02em; backdrop-filter: blur(4px); }

/* Rail horizontal (titres et albums). */
.zp-rail { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(160px, 200px); gap: 14px; overflow-x: auto; padding: 4px 2px 12px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.zp-card { position: relative; scroll-snap-align: start; background: var(--zb-surface); border: 1px solid var(--zb-border); border-radius: var(--zb-radius); overflow: hidden; display: flex; flex-direction: column; min-width: 0; }
.zp-card.is-playing { border-color: var(--zb-green); box-shadow: 0 0 0 2px rgba(104, 212, 40, .35); }
.zp-card-media { position: relative; display: block; aspect-ratio: 1 / 1; background: linear-gradient(135deg, #1E4A1D, #2C632A); }
.zp-card-cover { width: 100%; height: 100%; object-fit: cover; display: block; }
.zp-card-cover.is-empty { display: flex; align-items: center; justify-content: center; color: rgba(255, 255, 255, .7); }
.zp-card-cover.is-empty .zb-ico { width: 44px; height: 44px; }
.zp-card-top { position: relative; }
.zp-card-play { position: absolute; right: 10px; bottom: 10px; width: 46px; height: 46px; border-radius: 50%; border: 0; background: var(--zb-green); color: #10230E; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 8px 18px rgba(15, 36, 16, .28); z-index: 1; }
.zp-card-play .zb-ico + .zb-ico { display: none; }
.zp-card.is-playing .zp-card-play .zb-ico:first-child { display: none; }
.zp-card.is-playing .zp-card-play .zb-ico + .zb-ico { display: inline-block; }
.zp-card-body { padding: 10px 12px 14px; display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.zp-type { font-size: .74rem; color: var(--zb-muted); }
.zp-type strong { color: var(--zb-ink); }
.zp-card-title { font-weight: 800; color: var(--zb-ink) !important; text-decoration: none !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zp-card-artist { font-size: .85rem; color: var(--zb-link); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Artistes en vedette. */
.zp-artist { position: relative; }
.zp-star { display: inline-block; margin-top: 4px; font-size: .7rem; font-weight: 700; color: #10230E; background: var(--zb-green); border-radius: 999px; padding: 2px 9px; }

/* Agenda. */
.zp-agenda { margin-bottom: 26px; }
.zp-sp-wrap { position: relative; }
.zp-sp-wrap > .zp-badge { left: auto; right: 12px; top: 12px; bottom: auto; }

@media (max-width: 600px) {
	.zp-rail { grid-auto-columns: 62%; }
}
