/* css/tarif.css — onglet « Tarif » (ajout Grok 2026-10-25) */
.tarif-wrap { max-width: 980px; }
.tarif-hero__sessions { margin: 1rem auto 0; display: inline-block; padding: .5rem 1rem; border-radius: 999px; background: rgba(255,255,255,.12); color: #fff; font-size: .95rem; }
.tarif-hero__sessions span { font-weight: 700; }
.tarif-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin: 1.6rem 0 2rem; }
.tarif-card { border: 1px solid #dde4ee; border-radius: 14px; padding: 20px 20px 18px; background: #fff; display: flex; flex-direction: column; gap: .5rem; }
.tarif-card--lead { border-color: #007ACC; box-shadow: 0 10px 26px rgba(0,51,102,.10); }
.article-prose .tarif-card__name { margin: 0; font-size: 1.15rem; color: #003366; }
.tarif-card__price { margin: 0; font-size: 1.7rem; font-weight: 800; color: #003366; line-height: 1.2; }
.tarif-card__price span { display: block; font-size: .85rem; font-weight: 500; color: #64748b; }
.tarif-card__desc { margin: 0; font-size: .95rem; color: #334155; flex: 1; }
.tarif-card__more { font-size: .92rem; font-weight: 600; }
.tarif-place { color: #64748b; font-size: .92rem; }
.tarif-resa { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: start; }
.tarif-resa__aside { position: sticky; top: 96px; }
.tarif-sessions { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 12px; margin: .6rem 0; }
.tarif-session { text-align: start; border: 1px solid #c9d6e6; border-radius: 12px; background: #fff; padding: 14px 16px; cursor: pointer; display: flex; flex-direction: column; gap: 4px; font: inherit; color: #003366; }
.tarif-session:hover, .tarif-session.is-selected { border-color: #007ACC; background: #eaf4fb; }
.tarif-session__d { font-weight: 700; text-transform: capitalize; }
.tarif-session__c { font-size: .88rem; color: #007ACC; }
.tarif-how { padding-inline-start: 1.3rem; }
.tarif-how li { margin: .35rem 0; }
.tarif-form { margin-top: 1.6rem; padding: 22px; border: 1px solid #dde4ee; border-radius: 14px; background: #f8fafc; }
.article-prose .tarif-form h2 { margin-top: 0; }
.tarif-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
.tarif-form label { display: flex; flex-direction: column; gap: 6px; font-size: .92rem; font-weight: 600; color: #1e293b; }
.tarif-form input[type=text], .tarif-form input[type=email], .tarif-form input[type=tel], .tarif-form select, .tarif-form textarea { font: inherit; font-weight: 400; padding: 10px 12px; border: 1px solid #c9d6e6; border-radius: 10px; background: #fff; width: 100%; box-sizing: border-box; min-height: 44px; }
.tarif-form__full { grid-column: 1 / -1; }
.tarif-form label.tarif-form__consent { flex-direction: row; align-items: flex-start; gap: 10px; font-weight: 400; }
.tarif-form__consent input { margin-top: 4px; width: 18px; height: 18px; flex: none; }
.tarif-form__hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tarif-form__req { font-size: .85rem; color: #64748b; margin: .8rem 0 .4rem; }
.tarif-form__err { color: #b42318; background: #fef3f2; border: 1px solid #fecdca; border-radius: 10px; padding: 10px 12px; }
.tarif-form__submit { margin-top: .4rem; min-height: 46px; }
.tarif-ok { margin-top: 1.6rem; padding: 22px; border: 1px solid #a6d8b5; border-radius: 14px; background: #f0faf3; }
.tarif-ok__note { font-size: .88rem; color: #475569; }
.tarif-pay { display: inline-block; margin: .4rem 0; }
@media (max-width: 860px) {
  .tarif-cards { grid-template-columns: minmax(0, 1fr); }
  .tarif-resa { grid-template-columns: minmax(0, 1fr); }
  .tarif-resa__aside { position: static; }
  .tarif-form__grid { grid-template-columns: minmax(0, 1fr); }
  .tarif-form { padding: 16px; }
}
