/* Mise en page des tarifs. Couleurs, titres, cartes et boutons héritent du thème commun. */
.tarifs-page .tarifs-section { padding:3.5rem 0; scroll-margin-top:88px; }
.tarifs-page .section-header { margin-bottom:2rem; }
.tarifs-plans { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.tarifs-page .tarifs-plan { padding:2rem 1.5rem; }
.tarifs-page .tarifs-plan.featured { transform:none; box-shadow:var(--shadow); }
.tarifs-page .tarifs-plan.featured:hover { transform:translateY(-6px); }
.tarifs-plan-heading h3 { margin-bottom:.75rem; }
.tarifs-plan-description { min-height:44px; font-size:.9rem; color:var(--text-muted); line-height:1.5; margin:0 0 1.25rem; }
.tarifs-from { display:block; color:var(--text-muted); font-size:.8rem; margin-bottom:.25rem; }
.tarifs-price > div { display:flex; justify-content:center; align-items:baseline; flex-wrap:wrap; gap:.6rem; }
.tarifs-price strong { font-size:3rem; font-weight:800; line-height:1.2; color:var(--primary); white-space:nowrap; font-variant-numeric:tabular-nums; }
.tarifs-price > div > span { font-size:.95rem; color:var(--text-muted); white-space:nowrap; }
.tarifs-term { color:var(--text-muted); font-size:.85rem; margin:.4rem 0 1.5rem; }
.tarifs-plan .tarifs-button { width:100%; justify-content:center; padding-inline:1rem; min-height:52px; }
.tarifs-included { border-top:1px solid var(--border); padding-top:1.5rem; margin:1.5rem 0 1rem; color:var(--text-muted); font-size:.75rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; text-align:left; }
.tarifs-features { padding:0; margin:0; list-style:none; text-align:left; }
.tarifs-features li { display:flex; align-items:baseline; gap:.7rem; font-size:.9rem; line-height:1.6; margin:0 0 .75rem; }
.tarifs-features li:last-child { margin:0; }
.tarifs-features i { color:var(--success); font-size:.75rem; flex-shrink:0; }
.tarifs-note { display:flex; gap:.6rem; align-items:baseline; max-width:850px; margin:1.25rem auto 0; color:var(--text-muted); font-size:.85rem; line-height:1.6; }
.tarifs-note i { color:var(--secondary); }
.tarifs-services { background:var(--white); border:1px solid var(--border); border-radius:var(--radius-lg); overflow:hidden; }
.tarifs-service { display:grid; grid-template-columns:48px minmax(0,1fr) 180px; align-items:center; gap:1.5rem; padding:1.5rem 2rem; }
.tarifs-service + .tarifs-service { border-top:1px solid var(--border); }
.tarifs-service-icon { display:grid; place-items:center; width:48px; height:48px; color:var(--secondary); background:var(--light-bg); border-radius:var(--radius-sm); font-size:1.15rem; }
.tarifs-service-copy h3 { font-size:1.05rem; margin:0 0 .35rem; }
.tarifs-service-copy h3 a { color:var(--primary); }
.tarifs-service-copy h3 a:hover { color:var(--secondary); text-decoration:underline; text-underline-offset:4px; }
.tarifs-service-copy h3 i { color:var(--secondary); font-size:.65rem; margin-left:.4rem; }
.tarifs-service-copy p { color:var(--text-muted); font-size:.9rem; line-height:1.6; margin:0; }
.tarifs-service-copy .tarifs-service-note { font-size:.8rem; margin-top:.25rem; }
.tarifs-service-price { display:flex; flex-direction:column; align-items:flex-end; gap:.1rem; margin:0; white-space:nowrap; }
.tarifs-service-price strong { color:var(--secondary); font-size:1.6rem; font-weight:700; }
.tarifs-service-price span { color:var(--text-muted); font-size:.8rem; }
.tarifs-faq { max-width:900px; margin:auto; border:1px solid var(--border); border-radius:var(--radius); overflow:hidden; background:var(--white); }
.tarifs-faq details + details { border-top:1px solid var(--border); }
.tarifs-faq summary { display:flex; justify-content:space-between; align-items:center; gap:1.25rem; padding:1.25rem 1.5rem; list-style:none; cursor:pointer; font-size:1rem; color:var(--primary); font-weight:600; }
.tarifs-faq summary::-webkit-details-marker { display:none; }
.tarifs-faq summary::after { content:'+'; color:var(--secondary); font-size:1.4rem; font-weight:400; }
.tarifs-faq details[open] summary { color:var(--secondary); background:var(--light-bg); }
.tarifs-faq details[open] summary::after { content:'−'; }
.tarifs-faq details p { padding:1.25rem 1.5rem; margin:0; color:var(--text-muted); font-size:.95rem; }
.tarifs-cta h2 { margin-bottom:1rem; }
.tarifs-cta p { color:var(--text-muted); margin:0 auto 1.5rem; max-width:580px; }
@media (min-width:768px) and (max-width:991px) {
 .tarifs-page .tarifs-plan { padding:1.5rem 1rem; }
 .tarifs-plan-description { min-height:66px; }
 .tarifs-price strong { font-size:2.4rem; }
 .tarifs-price > div { gap:.3rem; }
 .tarifs-price > div > span { font-size:.8rem; }
 .tarifs-plan .tarifs-button { font-size:.85rem; padding-inline:.5rem; }
}
@media (max-width:767px) {
 .tarifs-page .tarifs-section { padding:2.5rem 0; }
 .tarifs-page .section-header { margin-bottom:1.5rem; }
 .tarifs-plans { grid-template-columns:1fr; gap:1.25rem; }
 .tarifs-page .tarifs-plan { padding:1.75rem 1.5rem; }
 .tarifs-plan-description { min-height:0; }
 .tarifs-service { grid-template-columns:minmax(0,1fr) auto; align-items:start; gap:.85rem; padding:1.25rem; }
 .tarifs-service-icon { display:none; }
 .tarifs-service-copy h3 { font-size:.95rem; line-height:1.45; }
 .tarifs-service-copy h3 i { display:none; }
 .tarifs-service-copy p { font-size:.85rem; }
 .tarifs-service-price strong { font-size:1.25rem; }
 .tarifs-service-price span { font-size:.75rem; }
 .tarifs-service:last-child { grid-template-columns:1fr; }
 .tarifs-service:last-child .tarifs-service-price { align-items:flex-start; }
 .tarifs-faq summary { padding:1rem; font-size:.95rem; }
 .tarifs-faq details p { padding:1rem; }
}
