/* Affichage des tarifs — volontairement neutre, hérite de la typo du thème.
   Chaque site peut surcharger via .cmt-tarifs dans son CSS. */
/* Pas de largeur imposée : le conteneur Elementor décide. */
.cmt-cat { margin: 0 0 2.2em; }
.cmt-cat-title { margin: 0 0 .35em; }
.cmt-effective { font-style: italic; font-size: .85em; opacity: .75; margin: 0 0 1em; }
.cmt-note { font-size: .85em; opacity: .8; margin: .5em 0 1em; }
.cmt-group { margin: 0 0 1.4em; }
/* Deux colonnes de groupes à partir de 1024 px (une seule en dessous). */
@media (min-width: 1024px) {
  .cmt-groups--cols2 { column-count: 2; column-gap: 3.5em; }
  .cmt-groups--cols2 .cmt-group { break-inside: avoid; page-break-inside: avoid; margin-bottom: 1.8em; }
  .cmt-groups--cols2 .cmt-group-title:first-child { margin-top: 0; }
}
.cmt-group-title { font-size: 1.05em; margin: 1.2em 0 .5em; }
.cmt-group-title--img img { display: block; max-width: 100%; height: auto; }
.cmt-group-note { margin-top: .6em; }
.cmt-list { list-style: none; margin: 0; padding: 0; }
.cmt-row { display: flex; align-items: baseline; gap: .5em; padding: .28em 0; }
.cmt-label { flex: 0 1 auto; }
.cmt-dots { flex: 1 0 2em; border-bottom: 2px dotted currentColor; opacity: .35; transform: translateY(-.25em); }
.cmt-price { flex: 0 1 auto; max-width: 55%; font-weight: 600; text-align: right; }
@media (max-width: 560px) {
  .cmt-row { flex-wrap: wrap; }
  .cmt-dots { display: none; }
  .cmt-price { flex-basis: 100%; text-align: left; padding-left: 1em; }
}
