/* =============================================================================
 * IMSG — Template 3830 "Opportunités & carrières" — styles structurels
 *
 * Scoped sur la section parente (.elementor-element-58c9470). Selectors par
 * STRUCTURE (`:has`, `:only-child`, `:last-child`) → résistent aux duplications
 * de cards par le client dans l'éditeur Elementor (les nouveaux IDs héritent).
 *
 * Ces règles vivent en dehors de `_elementor_data` pour ne PAS être écrasées
 * quand l'éditeur Elementor sauvegarde (l'éditeur réécrit toute la data avec sa
 * version en mémoire — voir mu-plugin imsg-3830-styles.php).
 * ============================================================================= */

/* Cercle icône — tout container qui ne contient qu'un widget icon comme seul enfant */
.elementor-element-58c9470 .e-grid .e-con:has(> .elementor-widget-icon:only-child) {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    aspect-ratio: 1 / 1 !important;
    flex: 0 0 40px !important;
}

/* Boutons "Missions principales" — container qui contient 3+ widgets button consécutifs
   (distingue de la liste chips en row qui n'en a que 2). */
.elementor-element-58c9470 .e-grid .e-con:has(> .elementor-widget-button ~ .elementor-widget-button ~ .elementor-widget-button) .elementor-button {
    text-align: left;
    justify-content: flex-start;
    line-height: normal !important;
    display: block !important;
}
.elementor-element-58c9470 .e-grid .e-con:has(> .elementor-widget-button ~ .elementor-widget-button ~ .elementor-widget-button) .elementor-button .elementor-button-content-wrapper {
    justify-content: flex-start;
    width: 100%;
}
.elementor-element-58c9470 .e-grid .e-con:has(> .elementor-widget-button ~ .elementor-widget-button ~ .elementor-widget-button) .elementor-button .elementor-button-text {
    text-align: left;
    width: 100%;
}

/* Footer prix — dernier container enfant de chaque card du grid */
.elementor-element-58c9470 .e-grid > .e-con > .e-con:last-child {
    margin-top: auto !important;
}

/* Bug Elementor v4 : le titre de l'icon-box est rendu en `<span>` (inline) — donc
   line-height n'a aucun effet visuel. On force `display: block` sur le wrapper ET
   sur le span interne pour que la cascade line-height/font-size définie dans
   Elementor (panneau Style → Titre → Typographie) prenne effet. Les valeurs
   restent contrôlables depuis l'éditeur. */
.elementor-element-bd4cd90 .elementor-icon-box-title,
.elementor-element-bd4cd90 .elementor-icon-box-title > span,
.elementor-element-bd4cd90 .elementor-icon-box-description,
.elementor-element-bd4cd90 .elementor-icon-box-description > span {
    display: block;
}
