/* Section « Réserver vos billets » + encart sidebar — fiches activité */
.reservation { --offre-vert: #2a8514; --offre-vert-fonce: #1f6410; --offre-bord: #e3e6ea; }

.offres-liste { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }

.offre-card {
    display: flex; gap: 16px; align-items: center; justify-content: space-between;
    padding: 16px 18px; border: 1px solid var(--offre-bord); border-radius: 10px; background: #fff;
    transition: box-shadow .15s ease, border-color .15s ease;
}
.offre-card:hover { border-color: #cfd5db; box-shadow: 0 4px 14px rgba(0, 0, 0, .06); }
.offre-card__body { min-width: 0; flex: 1; }
.offre-card__titre { font-size: 1.05rem; font-weight: 600; margin: 0 0 4px; line-height: 1.35; }
.offre-card__par { margin: 0 0 4px; color: #5b6570; font-size: .9rem; }
.offre-card__accroche { margin: 0 0 6px; font-size: .92rem; color: #333; }

.offre-card__badges { list-style: none; margin: 6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 12px; }
.offre-badge { font-size: .85rem; color: #4a535c; white-space: nowrap; }
.offre-badge i { margin-right: 3px; }
.offre-badge--note span[aria-hidden] { color: #f5a623; }
.offre-badge__nb { color: #7a838c; }
.offre-badge--ok { color: var(--offre-vert); }

.offre-card__action { flex: 0 0 auto; text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.offre-card__prix { margin: 0; line-height: 1.1; }
.offre-card__des { display: block; font-size: .8rem; color: #6b747d; }
.offre-card__barre { color: #8a939c; font-size: .9rem; margin-right: 4px; }
.offre-card__prix strong { font-size: 1.35rem; }

.offre-card__btn, .reserver-cta__btn {
    display: inline-block; padding: 9px 20px; border-radius: 8px; font-weight: 600;
    background: var(--offre-vert, #2a8514); color: #fff !important; text-decoration: none;
    transition: background .15s ease;
}
.offre-card__btn:hover, .reserver-cta__btn:hover { background: var(--offre-vert-fonce, #1f6410); }
.offre-card__btn:focus-visible, .reserver-cta__btn:focus-visible { outline: 3px solid #9bd08a; outline-offset: 2px; }

.offres-mention { margin: 10px 0 0; font-size: .8rem; color: #7a838c; }

/* Encart sidebar */
.reserver-cta { padding: 16px 18px; border: 1px solid #e3e6ea; border-radius: 10px; background: #f6faf4; margin-bottom: 16px; }
.reserver-cta__titre { margin: 0 0 2px; font-weight: 600; }
.reserver-cta__prix { margin: 0 0 10px; color: #4a535c; }
.reserver-cta__prix strong { font-size: 1.25rem; color: #1d2329; }
.reserver-cta__btn { display: block; text-align: center; }

@media (max-width: 576px) {
    .offre-card { flex-direction: column; align-items: stretch; }
    .offre-card__action { flex-direction: row; align-items: center; justify-content: space-between; text-align: left; }
}

.offre-card__prix strong, .reserver-cta__prix strong { white-space: nowrap; }
/* au cas où Bootstrap ne serait pas chargé */
.offre-card__btn .visually-hidden {
    position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important;
    margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important;
}
