.tarifs-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-bottom: 60px; }
.tarif-card {
  border-radius: 14px; padding: 36px; border: 2px solid var(--gris-mid);
  text-align: center; transition: all .25s;
}
.tarif-card.featured { border-color: var(--bleu); background: var(--bleu); color: var(--blanc); }
.tarif-card.featured p { color: rgba(255,255,255,.75); }
.tarif-icon {
  width: 60px; height: 60px; margin: 0 auto 14px; border-radius: 50%;
  background: var(--bleu-clair); display:flex; align-items:center; justify-content:center;
}
.tarif-icon svg { width: 28px; height: 28px; stroke: var(--bleu); }
.tarif-card.featured .tarif-icon { background: rgba(255,255,255,.18); }
.tarif-card.featured .tarif-icon svg { stroke: var(--blanc); }
.tarif-price { font-family: 'Playfair Display', serif; font-size: 2.8rem; font-weight: 700; margin: 12px 0 4px; }
.tarif-card.featured .tarif-price { color: var(--blanc); }
.tarif-price small { font-family: 'Inter', sans-serif; font-size: 1rem; font-weight: 400; }
.tarif-subtitle { font-size: 0.82rem; margin-bottom: 16px; }
.conseils-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.faq { display: flex; flex-direction: column; gap: 14px; }
.faq-item { border: 1px solid var(--gris-mid); border-radius: 10px; overflow: hidden; }
.faq-q {
  padding: 16px 20px; font-weight: 600; font-size: 0.92rem;
  cursor: pointer; display: flex; justify-content: space-between; align-items: center;
  background: var(--blanc); transition: background .2s;
}
.faq-q:hover { background: var(--bleu-clair); }
.faq-q.open { background: var(--bleu-clair); color: var(--bleu); }
.faq-a { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height .3s, padding .3s; }
.faq-a.open { max-height: 200px; padding: 14px 20px; }
.faq-a p { font-size: 0.88rem; }
.cal-placeholder {
  background: var(--bleu-clair); border-radius: 12px; height: 260px;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 12px; color: var(--bleu);
  border: 2px dashed var(--bleu); cursor: pointer;
}
.cal-placeholder svg { width: 48px; height: 48px; opacity: .4; }
.cal-placeholder span { font-size: 0.85rem; font-weight: 600; opacity: .7; }
@media (max-width: 960px) {
  .tarifs-grid { grid-template-columns: 1fr; }
  .conseils-grid { grid-template-columns: 1fr; gap: 40px; }
}
