Faits :
A.
Le 14 août 2004, le père de C.Y._, alors âgée de 38 ans, a tiré des coups de feu sur sa fille, qui est depuis lors paralysée des membres inférieurs. En date du 20 juin 2008, la Cour d'assises du canton de Genève l'a condamné pour tentative de meurtre.
En août 2008, C.Y._ a mandaté A._ et B._, avocats associés dans la même Étude, afin de défendre, sur le plan civil et administratif, ses intérêts pécuniaires face à son père et aux assureurs sociaux. Précédemment, elle avait confié la défense de ses intérêts successivement à sept avocats, résiliant à chaque fois le mandat attribué.
A._ et B._ ont introduit les procédures suivantes pour leur mandante:
- deux recours contre des décisions de l'Office cantonal AI et de l'assureur LAA, admis par le Tribunal cantonal des assurances sociales;
- une action civile jointe au pénal contre le père de C.Y._, tendant au paiement de dommages-intérêts pour près de 11 millions de francs et en réparation du tort moral pour 300'000 fr.;
- un pourvoi en cassation contre l'arrêt sur partie de la Cour d'assises condamnant le père de C.Y._ à payer à celle-ci une indemnité pour tort moral de 200'000 fr., pourvoi qui aboutira finalement au prononcé par la Cour de cassation d'une indemnité de 250'000 fr.
Par ailleurs, les deux avocats ont engagé des pourparlers en vue d'un règlement global du litige opposant père et fille, qui ont permis notamment l'obtention pour la cliente d'une indemnité mensuelle de 3'000 fr. versée par une société détenue par le père. Dans le cadre de ces pourparlers, A._ et B._ ont rédigé, début 2010, un projet de transaction, lequel prévoyait en particulier le paiement par le père d'une indemnité de 800'000 fr. pour solde de tout compte, ainsi que la conclusion entre les membres de la famille d'un pacte successoral garantissant les droits de C.Y._ dans la succession de ses parents.
En février 2010, C.Y._ a déclaré aux deux mandataires qu'elle n'approuvait pas le projet de transaction précité. Elle a alors tenté, sans succès, de négocier directement avec sa famille un accord similaire, avant de demander à ses avocats, le 23 mars 2010, d'apporter des aménagements au projet qu'ils avaient établi, puis, le lendemain, de résilier le mandat avec effet immédiat.
Avant de transmettre le dossier à Me C._, nouveau conseil de C.Y._, A._ et B._ ont sollicité l'autorisation du Bâtonnier de l'Ordre des avocats; ils considéraient en effet que leur confrère se trouvait dans un conflit d'intérêts dans la mesure où il était également l'avocat de l'époux de C.Y._, alors inculpé d'instigation à tentative de meurtre sur la personne de son beau-père. Le 2 avril 2010, l'Ordre des avocats a interdit à A._ et B._ de transmettre le dossier de C.Y._ au nouvel avocat de celle-ci. Il lèvera l'interdiction quatre mois plus tard, lorsque le conflit d'intérêts n'existera plus.
Entretemps, C.Y._ avait saisi la Commission du Barreau d'une plainte contre A._ et B._ auxquels elle reprochait une mauvaise exécution de leur mandat. La plainte a été classée sans suite par le Président de la Commission, puis, après opposition de la mandante, par la Commission plénière.
Le père de C.Y._ est décédé en avril 2011. Ses héritiers ont été condamnés, par arrêt du 31 mai 2012 de la Cour d'assises, à payer à sa fille des dommages-intérêts par 1'825'710 fr.25. C.Y._ s'est pourvue en cassation, réclamant désormais 4'377'692 fr.25; la procédure est en cours.
A._ et B._ ont adressé deux notes d'honoraires et de frais à C.Y._. La première facture, datée du 31 mars 2009, portait sur la procédure de recours AI et s'élevait à 2'335 fr.60 nets après déduction d'une provision de 1'000 fr. La seconde facture, établie le 26 avril 2010 après la résiliation du mandat, se montait à 49'074 fr. nets après déduction d'une provision de 40'000 fr. C.Y._ ne s'est pas acquittée de ces deux notes d'honoraires.
Saisie le 6 août 2010 par A._ et B._, la Commission de taxation des honoraires d'avocat a, par décision du 2 février 2011, entièrement confirmé la quotité de la note d'honoraires et de frais du 26 avril 2010, en relevant que le temps d'activité et le tarif horaire appliqué étaient adéquats, proportionnés et justifiés compte tenu de l'importante activité déployée, de la complexité du mandat, des intérêts économiques en jeu et de la responsabilité assumée par les avocats.
B.
Le 17 juin 2011, A._ et B._ ont ouvert action contre C.Y._ en paiement de la somme de 51'409 fr.60 avec intérêts, représentant les honoraires et frais des notes des 31 mars 2009 et 26 avril 2010.
Dans sa réponse du 5 avril 2012, C.Y._, qui n'était alors plus représentée par Me C._, a conclu au déboutement des demandeurs. Elle leur reprochait en particulier d'avoir engagé des négociations avec son père contre son gré et d'une manière contraire à ses intérêts, ainsi que d'avoir proposé une convention prévoyant une indemnisation en disproportion évidente avec ses prétentions réelles. Elle faisait également grief aux avocats de n'avoir pas transmis immédiatement le dossier à Me C._. En outre, C.Y._ a conclu reconventionnellement au paiement par les demandeurs d'un montant de 50'000 fr. "au titre d'une réparation", sans plus ample précision.
Lors de l'audience d'instruction du 30 octobre 2012, C.Y._, représentée depuis peu par Me D._, n'a pas complété ses allégués bien qu'elle fût invitée à le faire.
La défenderesse n'était ni présente, ni représentée à l'audience de débats principaux du 6 mai 2013. Par courrier du même jour adressé au juge, elle expliquait que sa santé ne lui permettait pas d'assister à l'audience et demandait que son époux, qui la représentait, soit convoqué à une prochaine audience.
Lors de l'audience de plaidoiries finales du 3 juin 2013, C.Y._, représentée par Me F._, a reconnu devoir le montant faisant l'objet de la note d'honoraires du 31 mars 2009, ainsi que deux postes facturés pour un total de 27'107 fr.50 dans la note du 26 avril 2010. Elle a conclu au rejet de la demande pour le surplus et persisté dans sa demande reconventionnelle.
Par jugement du 16 octobre 2013, le Tribunal de première instance du canton de Genève a entièrement fait droit à la demande principale et débouté la défenderesse de ses conclusions reconventionnelles.
Statuant le 30 mai 2014 sur appel de C.Y._, comparant en personne, la Chambre civile de la Cour de justice du canton de Genève a confirmé le jugement de première instance.
C.
C.Y._, représentée par Me Jacques Emery, a interjeté un recours en matière civile. Elle conclut, principalement, au déboutement des demandeurs de leurs conclusions en paiement et, à titre subsidiaire, au renvoi de la cause à la cour cantonale ou au Tribunal de première instance.
A._ et B._ proposent de déclarer le recours en matière civile irrecevable, faute de valeur litigieuse suffisante, ou de le rejeter.
La cour cantonale se réfère aux considérants de son arrêt.
Par ordonnance du 20 octobre 2014, la Présidente de la cour de céans a rejeté la demande d'effet suspensif déposée par la recourante.
Par lettre du 7 janvier 2015, la recourante a fait savoir au Tribunal fédéral qu'elle avait résilié le mandat de Me Jacques Emery; elle demande que les actes judiciaires lui soient dorénavant communiqués en personne.

Considérant en droit :
1.
1.1. Interjeté par la partie qui a succombé dans ses conclusions libératoires et a donc qualité pour recourir (<ref-law>), le recours est dirigé contre une décision finale (<ref-law>) rendue en matière civile (<ref-law>) par un tribunal supérieur statuant en dernière instance cantonale (<ref-law>).
Les intimés mettent en doute le fait que la présente affaire atteigne la valeur litigieuse minimale de 30'000 fr. exigée à l'<ref-law>. En cas de recours contre une décision finale, la valeur litigieuse est déterminée par les conclusions restées litigieuses devant l'autorité précédente (<ref-law>). En l'espèce, la recourante concluait dans son appel, principalement, à l'annulation du jugement du 16 octobre 2013 la condamnant à verser la somme de 51'409 fr.60 aux intimés et au renvoi de la cause au Tribunal de première instance; dans la motivation de son mémoire, elle contestait que les intimés puissent "obtenir le paiement de leurs honoraires" et demandait qu'"ils soient astreints à rembourser les sommes perçues à titre de provision". Il faut en déduire que, devant la Cour de justice, le litige portait en tout cas sur le montant de 51'409 fr.60, de sorte que la présente cause atteint le seuil fixé pour la recevabilité du recours en matière civile.
Déposé en temps utile (art. 46 al. 1 let. b et art. 100 al. 1 LTF) et dans les formes prévues par la loi (<ref-law>), le recours est en principe recevable, l'examen des griefs particuliers étant réservé.
1.2. Le recours peut être interjeté pour violation du droit, tel qu'il est délimité par les art. 95 et 96 LTF. Le Tribunal fédéral applique le droit d'office (<ref-law>). Cependant, compte tenu de l'exigence de motivation contenue à l'art. 42 al. 1 et 2 LTF, à respecter sous peine d'irrecevabilité (<ref-law>), il n'examine que les questions juridiques qui sont soulevées devant lui; il n'est pas tenu de traiter, comme le ferait une autorité de première instance, toutes les questions juridiques qui se posent, lorsque celles-ci ne sont plus discutées devant lui (<ref-ruling> consid. 2 p. 88 s.; <ref-ruling> consid. 1.3 p. 584; <ref-ruling> consid. 2.2.1 p. 389; <ref-ruling> consid. 1.4 p. 400). Dès lors qu'une question est discutée, le Tribunal fédéral n'est limité ni par les arguments soulevés dans le recours, ni par la motivation retenue par l'autorité précédente; il peut admettre un recours pour un autre motif que ceux qui ont été invoqués et il peut rejeter un recours en adoptant une argumentation différente de celle de l'autorité précédente (<ref-ruling> consid. 2 p. 89; <ref-ruling> consid. 1.3 p. 336; <ref-ruling> consid. 4 p. 317 s.; <ref-ruling> consid. 1.4 p. 400).
Par exception à la règle selon laquelle il applique le droit d'office, le Tribunal fédéral ne peut entrer en matière sur la violation d'un droit constitutionnel ou sur une question relevant du droit cantonal ou intercantonal que si le grief a été invoqué et motivé de manière précise par la partie recourante (<ref-law>; ATF <ref-ruling> consid. 1.4 in fine).
1.3. Le Tribunal fédéral conduit son raisonnement juridique sur la base des faits établis par l'autorité précédente (<ref-law>). Il ne peut s'en écarter que si les faits ont été établis de façon manifestement inexacte - ce qui correspond à la notion d'arbitraire au sens de l'art. 9 Cst. (<ref-ruling> consid. 2 p. 117; <ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 5.1 p. 356) - ou en violation du droit au sens de l'<ref-law> (<ref-law>). L'exception prévue à l'<ref-law> ne permet pas aux parties de rediscuter dans leurs mémoires les faits de la cause comme si elles plaidaient devant un juge d'appel. La partie recourante qui, sur la base de l'<ref-law>, entend faire rectifier ou compléter un état de fait doit expliquer de manière circonstanciée en quoi les conditions d'une telle modification seraient réalisées (<ref-ruling> consid. 1.3.1 p. 18; <ref-ruling> consid. 5.1 p. 356; <ref-ruling> consid. 1.2 p. 187), au même titre que la partie qui invoque une violation de l'interdiction constitutionnelle de l'arbitraire dans l'appréciation des preuves et l'établissement des faits (cf. <ref-law>; <ref-ruling> consid. 1.4.3 p. 254 s.).
2.
La recourante se plaint tout d'abord d'arbitraire dans l'établissement des faits. La cour cantonale aurait écarté sans raison ni motivation plusieurs faits présentés en première instance et prouvés par pièces, lesquels démontreraient les violations du mandat commises par les intimés. Les faits en question portent sur l'inaction dont les avocats auraient fait preuve à la suite des communications de la recourante des 8 avril 2009, 20 avril 2009, 23 septembre 2009 et 26 septembre 2009. D'une part, la mandante explique que, dans les trois derniers documents cités, elle instruisait l'intimé A._ de prendre des mesures conservatoires afin que son père cesse de dilapider sa fortune, dont il convenait par ailleurs d'établir l'ampleur; elle demandait par ailleurs aux avocats de réclamer leurs honoraires dans le cadre de l'action civile jointe au pénal. D'autre part, la recourante observe qu'après avoir pensé que la provision de 40'000 fr. suffisait jusqu'à la fin de la procédure, ce qu'elle exprimait dans son courriel du 8 avril 2009, elle avait, dans le pli recommandé du 20 avril 2009, soumis le paiement d'honoraires supplémentaires à deux conditions, à savoir un devis et une issue favorable.
2.1. Une décision est arbitraire lorsqu'elle viole gravement une norme ou un principe juridique clair et indiscuté, ou contredit d'une manière choquante le sentiment de la justice et de l'équité. L'arbitraire, prohibé par l'art. 9 Cst., ne résulte pas du seul fait qu'une autre solution pourrait entrer en considération ou même qu'elle serait préférable. Le Tribunal fédéral ne s'écarte de la solution retenue par l'autorité cantonale de dernière instance que si sa décision apparaît insoutenable, en contradiction manifeste avec la situation effective, adoptée sans motifs objectifs ou en violation d'un droit certain. Il ne suffit pas que les motifs de la décision soient insoutenables; encore faut-il que celle-ci soit arbitraire dans son résultat (<ref-ruling> consid. 2.1 p. 18 s., 157 consid. 2.1 p. 168; <ref-ruling> consid. 3.2.5 p. 339; <ref-ruling> consid. 6.1 p. 379 s.).
En matière d'appréciation des preuves, il y a arbitraire lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des constatations insoutenables (ATF <ref-ruling> consid. 4.1.2 p. 62; <ref-ruling> consid. 4.2 p. 234; <ref-ruling> consid. 4.2 p. 560; <ref-ruling> consid. 4.3 p. 62; <ref-ruling> consid. 2.1 p. 9).
2.2. La recourante soutient que les intimés n'ont pas donné suite à ses instructions sur deux points, ce qui constituait des manquements contractuels, et que les instances cantonales ne pouvaient pas écarter ces faits sans verser dans l'arbitraire.
Pour que le juge puisse retenir un fait, encore faut-il que celui-ci ait été allégué, selon la maxime des débats applicable en l'occurrence (<ref-law>), et qu'il l'ait été de manière régulière. En l'espèce, la recourante n'a pas allégué les faits en question dans son mémoire de réponse du 5 avril 2012, mais, pour la première fois, lors des plaidoiries finales devant le juge de première instance, puis dans son appel. Or, intervenues après l'audience de débats d'instruction sans qu'une exception ne soit réalisée, ces allégations étaient manifestement tardives (cf. art. 221 al. 1 let. d, art. 226 al. 2, art. 229 al. 1, art. 317 al. 1 CPC). Certes, la recourante avait déposé en première instance le courriel du 8 avril 2009, ainsi que les courriers recommandés des 20 avril et 23 septembre 2009, mais ces moyens de preuve ne sauraient suppléer à l'absence d'allégués sur les prétendus manquements imputés aux intimés.
En ce qui concerne le montant des honoraires d'avocat, la cour cantonale a examiné si le silence opposé par les intimés au courrier du 20 avril 2009 pouvait être interprété comme valant acceptation des conditions de rémunération proposées dans le pli en question; elle est parvenue à la conclusion que tel n'était pas le cas et a retenu l'absence d'accord tacite des parties à ce sujet. La recourante ne formule aucun grief d'arbitraire contre cette constatation, de sorte qu'il n'y a pas lieu de revenir sur ce point.
Le moyen tiré d'une violation de l'art. 9 Cst. se révèle mal fondé.
3.
3.1. Selon la recourante, le Tribunal de première instance aurait dû faire droit à sa demande de report d'audience du 6 mai 2013, liée à une incapacité psychique et physique d'être auditionnée, et ne pouvait procéder à l'audition des intimés sans qu'elle puisse les interroger. En ne le reconnaissant pas, la cour cantonale aurait violé le droit d'être entendu de la recourante.
3.2. L'audience convoquée pour le 6 mai 2013 avait pour objet l'audition des parties, requise à titre de preuve par les demandeurs et par la défenderesse (cf. ordonnance du 10 avril 2013 du Tribunal de première instance); sur la citation à comparaître, il était précisé qu'en application de l'<ref-law>, la comparution personnelle des parties était exigée. Le jour même de l'audience, la recourante, qui n'était alors plus représentée par un avocat, a fait savoir au tribunal que son état de santé ne lui permettait pas de "supporter" une audition et, en particulier, d'être confrontée aux intimés; elle demandait au juge de convoquer à une nouvelle audience son mari, qu'elle désignait comme représentant.
Lorsqu'une partie citée à comparaître personnellement sur la base de l'<ref-law> ne se présente pas, les suites du défaut sont régis par les <ref-law> (Luca Tenchio, in Basler Kommentar, Schweizerische Zivilprozessordnung, 2010, n° 22 ad <ref-law>). En vertu de l'<ref-law>, le tribunal peut citer les parties à une nouvelle audience lorsque la partie défaillante en fait la requête et rend vraisemblable que le défaut ne lui est pas imputable ou n'est imputable qu'à une faute légère. Tel sera le cas d'une maladie subite d'une certaine gravité qui empêche la partie de se présenter ou de prendre à temps les dispositions nécessaires (Denis Tappy, in Code de procédure civile commenté, 2011, n° 14 ad <ref-law>, p. 599 s.; Niccolò Gozzi, in Basler Kommentar, Schweizerische Zivilprozessordnung, 2010, n° 20 ad <ref-law>).
En l'espèce, l'empêchement médical invoqué par la recourante ne résultait manifestement pas d'une atteinte subite, mais d'un état de santé préexistant appelé à perdurer. En réalité, si la recourante ne pouvait être entendue personnellement pour des raisons médicales, il lui appartenait de solliciter à temps d'être dispensée de comparaître à l'audience du 6 mai 2013 et de pouvoir s'y faire représenter; son représentant aurait alors été en mesure de poser des questions aux intimés (<ref-law>; <ref-law> par analogie; Nicolas Jeandin, in Code de procédure civile commenté, 2011, n° 36 ad <ref-law>). Dans ces conditions, le tribunal pouvait, sans violer le droit d'être entendu de la recourante, refuser de donner suite à la demande de report d'audience et procéder comme prévu à l'interrogatoire des intimés.
Le grief tiré d'une violation de l'art. 29 al. 2 Cst. doit être écarté.
4.
4.1. En dernier lieu, la recourante fait valoir que la cour cantonale a méconnu l'<ref-law> et l'art. 12 de la loi fédérale sur la libre circulation des avocats du 23 juin 2000 (LLCA; RS 935.61). Elle invoque plusieurs violations par les intimés de leurs devoirs contractuels, lesquelles justifieraient une annulation des notes d'honoraires, voire une réduction substantielle de ceux-ci. Ainsi, les avocats auraient méconnu leur devoir d'information, en ne renseignant pas la mandante sur le montant approximatif des honoraires après avoir exigé une provision insuffisante. Par ailleurs, une mauvaise exécution du mandat résulterait du fait que, d'une part, les intimés n'auraient pas donné suite aux instructions de la recourante à propos de l'ampleur et de la conservation du patrimoine de son père et que, d'autre part, ils n'auraient pas inclus leurs honoraires dans les prétentions civiles de la victime. Enfin, la recourante critique la manière dont les avocats ont mené les négociations avec les conseils de son père et le résultat obtenu.
4.2. Il ne ressort pas de l'état de fait de l'arrêt attaqué que les intimés n'ont pas fourni à la recourante les éclaircissements nécessaires au sujet du montant des honoraires d'avocat. Ce fait n'a pas non plus été allégué dans la procédure cantonale, la recourante affirmant alors que les avocats n'avaient pas répondu à son courrier du 20 avril 2009 et que ce silence valait acceptation des conditions de rémunération proposées dans le pli en question. Le manquement invoqué repose ainsi sur un fait nouveau que le Tribunal fédéral ne peut pas prendre en compte (<ref-law>).
De même, les deux violations du mandat reprochées ensuite aux intimés se fondent sur des faits qui ne figurent pas dans l'arrêt attaqué et qui, comme déjà relevé (consid. 2.2 supra), n'ont pas été omis arbitrairement par les instances précédentes, faute d'allégation en bonne et due forme.
S'agissant des négociations qui ont abouti au projet de transaction de début 2010, il n'est pas établi qu'elles auraient été menées par les intimés en violation des instructions claires de leur mandante. Certes, l'intéressée a suggéré aux avocats, en avril 2009, d'exiger le versement d'un acompte immédiat de 300'000 fr. à 500'000 fr., avant d'ordonner, en septembre 2009, de cesser les pourparlers. Mais, deux mois plus tard, elle a elle-même demandé la reprise des négociations alors qu'aucun capital n'avait été versé. Et lorsqu'elle refuse le projet de transaction établi début 2010, elle s'empresse de négocier aussitôt un accord similaire avec sa famille. Pour le reste, comme la cour cantonale l'expose de manière convaincante, aucun élément ne permet de conclure que les avocats auraient conduit les négociations et établi un projet de transaction d'une manière contraire aux intérêts de la recourante.
En tant qu'il est recevable, le moyen tiré d'une violation de l'<ref-law> et de l'<ref-law> se révèle dès lors mal fondé.
5.
Sur le vu de ce qui précède, le recours sera rejeté dans la mesure où il est recevable.
En conséquence, la recourante, qui succombe, prendra à sa charge les frais judiciaires (<ref-law>) et versera des dépens aux intimés (art. 68 al. 1 et 2 LTF).

Par ces motifs, le Tribunal fédéral prononce:
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
Les frais judiciaires, arrêtés à 2'500 fr., sont mis à la charge de la recourante.
3.
La recourante versera aux intimés, créanciers solidaires, une indemnité de 3'000 fr. à titre de dépens.
4.
Le présent arrêt est communiqué aux parties, à la Chambre civile de la Cour de justice du canton de Genève ainsi que, pour information, à Me Jacques Emery.
Lausanne, le 12 mars 2015
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann