[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-ccn-boulangerie-patisserie-fr":83,"footer-cities-fr":146},[4,14,22,30,38,45,53,60,67,75],{"seo_content":5,"id":8,"name":9,"slug":10,"parentId":7,"lang":11,"_count":12},[6],{"page_slug":7},null,"cmkzhl7xm00dbulbc93h4qog5","Juridique","avocats","fr-FR",{"experts":13},8,{"seo_content":15,"id":17,"name":18,"slug":19,"parentId":7,"lang":11,"_count":20},[16],{"page_slug":7},"cmkzhl84700djulbcbv6pzu9e","Informatique","informaticiens",{"experts":21},3,{"seo_content":23,"id":25,"name":26,"slug":27,"parentId":7,"lang":11,"_count":28},[24],{"page_slug":7},"cmkzhlaos00gnulbc07i9jrco","Amélioration de la Maison","artisans",{"experts":29},4,{"seo_content":31,"id":33,"name":34,"slug":35,"parentId":7,"lang":11,"_count":36},[32],{"page_slug":7},"cmkzhlaqg00gpulbcx38bwoc2","Général","divers-generalistes",{"experts":37},0,{"seo_content":39,"id":41,"name":42,"slug":43,"parentId":7,"lang":11,"_count":44},[40],{"page_slug":7},"cmkzhlbvq00i3ulbcutdbcz50","Électronique Grand Public","techniciens-electronique",{"experts":21},{"seo_content":46,"id":48,"name":49,"slug":50,"parentId":7,"lang":11,"_count":51},[47],{"page_slug":7},"cmkzhlcaw00ilulbc38pxoogr","Santé","medecins",{"experts":52},5,{"seo_content":54,"id":56,"name":57,"slug":58,"parentId":7,"lang":11,"_count":59},[55],{"page_slug":7},"cmkzhlcmi00izulbcxva1m47f","Gestion de Patrimoine","conseillers-patrimoniaux",{"experts":21},{"seo_content":61,"id":63,"name":64,"slug":65,"parentId":7,"lang":11,"_count":66},[62],{"page_slug":7},"cmkzhldcv00jvulbcmcd5a7mk","Animaux et Vétérinaires","veterinaires",{"experts":21},{"seo_content":68,"id":70,"name":71,"slug":72,"parentId":7,"lang":11,"_count":73},[69],{"page_slug":7},"cmkzhldrr00kdulbchxfo67eg","Mécanique et Réparation","mecaniciens",{"experts":74},1,{"seo_content":76,"id":78,"name":79,"slug":80,"parentId":7,"lang":11,"_count":81},[77],{"page_slug":7},"cmkzhl9l300fbulbcv3i8q8p3","Aide aux Devoirs","professeurs-particuliers",{"experts":82},6,{"slug":84,"title":85,"page_title":86,"description":87,"content_md":88,"local_slug":84,"json_ld":89,"faq":109,"tool_html":140,"source":141,"category":142,"audience":143,"publish_mode":144,"hero_image":145,"hero_image_alt":85},"ccn-boulangerie-patisserie","CCN boulangerie-pâtisserie — calculateur complet","Calculateur CCN Boulangerie-Pâtisserie IDCC 843 | Expert Zoom","Outil interactif couvrant le préavis, la grille salariale 2026, la prime de fin d'année et les congés payés de la CCN boulangerie-pâtisserie artisanale (IDCC 843).","Ce calculateur CCN boulangerie-pâtisserie (IDCC 843) regroupe en 4 onglets les principales dérogations au Code du travail : **préavis** (art. 32 — cadres 3 mois, non-cadres jusqu'à 2 mois), **grille salariale 2026** (coefficients 155 à 240, de €12,41 à €14,59\u002Fh), **prime de fin d'année** (4,75 % du salaire annuel brut en 2026 pour tout salarié avec ≥ 1 an d'ancienneté), et **congés payés** (30 jours légaux + 6 jours supplémentaires CCN + jusqu'à 2 jours de fractionnement).",[90],{"name":91,"@type":92,"about":93,"author":97,"@context":100,"isPartOf":101,"inLanguage":104,"description":105,"operatingSystem":106,"applicationCategory":107,"isAccessibleForFree":108},"Calculateur CCN Boulangerie-Pâtisserie — IDCC 843","WebApplication",{"name":94,"@type":95,"identifier":96},"Convention collective nationale de la boulangerie-pâtisserie","Thing","IDCC 843",{"name":98,"@type":99},"Expert-Zoom","Organization","https:\u002F\u002Fschema.org",{"url":102,"@type":103},"\u002Ffr\u002Fmagazine\u002Fjuridique\u002Fles-conventions-collectives-en-france","Article","fr","Outil interactif couvrant le préavis, la grille salariale, la prime de fin d'année et les congés payés de la convention collective boulangerie-pâtisserie artisanale (IDCC 843).","All","FinanceApplication",true,[110,113,116,119,122,125,128,131,134,137],{"a":111,"q":112},"Selon l'article 32 de la CCN IDCC 843, la durée du préavis en cas de licenciement est de : 1 semaine pour les non-cadres ayant moins de 6 mois d'ancienneté, 1 mois entre 6 mois et 2 ans, et 2 mois à partir de 2 ans. Les cadres bénéficient de 1 mois et demi avant 2 ans d'ancienneté, et de 3 mois à partir de 2 ans — plus favorable que le Code du travail.","Quelle est la durée du préavis dans la convention collective boulangerie-pâtisserie ?",{"a":114,"q":115},"La grille salariale CCN 843 (avenant 2026, +1,20%) s'étend du coefficient 155 à 240. Les minima horaires vont de 12,41 €\u002Fh (coeff. 155, ouvrier débutant) à 14,59 €\u002Fh (coeff. 240, agent de maîtrise\u002Fcadre). Tous ces minima sont supérieurs au SMIC 2026 (12,13 €\u002Fh).","Quelle est la grille de salaires de la boulangerie-pâtisserie en 2026 ?",{"a":117,"q":118},"Oui. La CCN 843 prévoit une prime de fin d'année pour tout salarié justifiant d'au moins 1 an d'ancienneté au 31 décembre. Son taux est de 4,75% du salaire brut annuel en 2026, et passera à 5,00% au 1er janvier 2027. Le Code du travail ne prévoit aucune prime annuelle obligatoire.","La convention collective boulangerie-pâtisserie prévoit-elle une prime de fin d'année ?",{"a":120,"q":121},"La CCN IDCC 843 (art. 30) prévoit 30 jours ouvrables légaux + 6 jours ouvrables supplémentaires, soit 36 jours minimum. Ces 6 jours doivent être pris entre le 15 janvier et le 1er mai. Des jours de fractionnement (1 à 2 jours) peuvent s'ajouter si des congés sont pris hors période principale (mai-octobre).","Combien de jours de congés payés prévoit la CCN boulangerie-pâtisserie ?",{"a":123,"q":124},"La CCN 843 applique la formule légale du Code du travail : 1\u002F4 de mois de salaire par année d'ancienneté pour les 10 premières années, puis 1\u002F3 de mois par année au-delà. Le salarié doit justifier d'au moins 2 ans d'ancienneté. Le salaire de référence est le plus favorable entre la moyenne des 12 derniers mois ou la moyenne des 3 derniers mois.","Quelle est l'indemnité de licenciement dans la CCN boulangerie-pâtisserie ?",{"a":126,"q":127},"En cas de démission, les non-cadres doivent respecter 1 semaine si l'ancienneté est inférieure à 6 mois, et 2 semaines à partir de 6 mois. Les cadres ont un préavis de démission de 2 mois. L'employeur peut dispenser le salarié démissionnaire d'effectuer son préavis.","Quel est le préavis de démission dans la boulangerie-pâtisserie ?",{"a":129,"q":130},"Le coefficient minimal de la convention collective boulangerie-pâtisserie artisanale est 155, correspondant à un salaire horaire minimum de 12,41 € en 2026. Il concerne les ouvriers et vendeurs débutants sans qualification particulière dans le secteur.","Quel est le coefficient minimum de la grille boulangerie-pâtisserie ?",{"a":132,"q":133},"La prime de fin d'année est due au salarié présent dans l'entreprise au 31 décembre et justifiant d'au moins 1 an d'ancienneté. Elle est calculée prorata temporis en cas d'année incomplète. Son montant est de 4,75% du salaire brut annuel en 2026 et 5% à partir de 2027.","À partir de quand la prime de fin d'année est-elle due dans la boulangerie ?",{"a":135,"q":136},"Les majorations de base restent identiques au Code du travail : 25% pour les 8 premières heures supplémentaires (heures 36 à 43) et 50% au-delà. La CCN 843 prévoit en outre des majorations spécifiques pour le travail du dimanche (+20%), les jours fériés (+100%) et le travail de nuit (+25%).","Les heures supplémentaires sont-elles majorées différemment dans la boulangerie-pâtisserie ?",{"a":138,"q":139},"Les 6 jours ouvrables supplémentaires prévus par l'article 30 de la CCN 843 doivent être pris entre le 15 janvier et le 1er mai de l'année suivante. Si l'employeur ne peut pas permettre leur prise pendant cette période, il doit verser une indemnité compensatrice équivalente à 6 jours de salaire.","Comment sont calculés les 6 jours de congés supplémentaires de la CCN boulangerie ?","\u003C!DOCTYPE html>\n\u003Chtml lang=\"fr\">\n\u003Chead>\n  \u003Cmeta charset=\"utf-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  \u003Ctitle>Calculateur CCN Boulangerie-Pâtisserie IDCC 843\u003C\u002Ftitle>\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    :root {\n      --bg: #fafaf9; --surface: #ffffff; --border: #e7e5e4;\n      --accent: #2563eb; --accent-light: #eff6ff; --accent-dark: #1d4ed8;\n      --text: #1c1917; --text-muted: #78716c;\n      --warning-bg: #fffbeb; --radius: 0.75rem; --radius-sm: 0.5rem;\n    }\n    body { background: var(--bg); font-family: system-ui,-apple-system,sans-serif; color: var(--text); font-size: .9375rem; line-height: 1.6; }\n    .tool-root { max-width: 680px; margin: 0 auto; padding: 1.25rem 1rem 1.5rem; }\n    .tool-header { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-bottom: 1.25rem; }\n    .tool-title { font-size: 1.125rem; font-weight: 700; }\n    .tool-sub { font-size: .8125rem; color: var(--text-muted); margin-top: .125rem; }\n    .idcc-badge { flex-shrink: 0; background: var(--accent-light); color: var(--accent); font-size: .75rem; font-weight: 700; padding: .25rem .625rem; border-radius: 99px; white-space: nowrap; }\n    .tabs-row { display: flex; gap: .25rem; border-bottom: 2px solid var(--border); margin-bottom: 1.25rem; overflow-x: auto; scrollbar-width: none; }\n    .tabs-row::-webkit-scrollbar { display: none; }\n    .tab-btn { flex-shrink: 0; padding: .5rem .875rem; border: none; background: none; font-size: .8125rem; font-weight: 600; color: var(--text-muted); cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; border-radius: .25rem .25rem 0 0; transition: color .15s,border-color .15s; display: flex; align-items: center; gap: .375rem; }\n    .tab-btn:hover { color: var(--accent); }\n    .tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); }\n    .panel { display: none; }\n    .panel.active { display: block; }\n    .rule-callout { display: flex; gap: .625rem; background: var(--accent-light); border: 1px solid #bfdbfe; border-radius: var(--radius-sm); padding: .75rem 1rem; margin-bottom: 1.125rem; }\n    .rule-callout svg { flex-shrink: 0; color: var(--accent); margin-top: .125rem; }\n    .rule-callout p { font-size: .8125rem; color: #1e40af; line-height: 1.5; }\n    .rule-callout strong { font-weight: 700; }\n    .form-group { margin-bottom: 1rem; }\n    .form-label { display: flex; justify-content: space-between; align-items: baseline; font-size: .8125rem; font-weight: 600; margin-bottom: .375rem; }\n    .form-label-val { font-size: .875rem; font-weight: 700; color: var(--accent); font-variant-numeric: tabular-nums; }\n    input[type=\"range\"] { width: 100%; accent-color: var(--accent); cursor: pointer; }\n    select { width: 100%; padding: .5rem .75rem; border: 1.5px solid var(--border); border-radius: var(--radius-sm); font-size: .875rem; background: var(--surface); color: var(--text); cursor: pointer; appearance: none; background-image: url(\"data:image\u002Fsvg+xml,%3Csvg xmlns='http:\u002F\u002Fwww.w3.org\u002F2000\u002Fsvg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2378716c' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'\u002F%3E%3C\u002Fsvg%3E\"); background-repeat: no-repeat; background-position: right .75rem center; }\n    select:focus { outline: none; border-color: var(--accent); }\n    .pills { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .25rem; }\n    .pill { padding: .375rem .875rem; border: 1.5px solid var(--border); border-radius: 99px; font-size: .8125rem; font-weight: 500; cursor: pointer; background: var(--surface); color: var(--text-muted); transition: all .15s; }\n    .pill.active { background: var(--accent); border-color: var(--accent); color: #fff; }\n    .toggle-row { display: flex; gap: .375rem; margin-top: .25rem; }\n    .toggle-btn { flex: 1; padding: .5rem; border: 1.5px solid var(--border); border-radius: var(--radius-sm); font-size: .8125rem; font-weight: 600; cursor: pointer; background: var(--surface); color: var(--text-muted); transition: all .15s; }\n    .toggle-btn.active { background: var(--accent); border-color: var(--accent); color: #fff; }\n    .result-card { background: var(--surface); border: 2px solid var(--accent); border-radius: var(--radius); padding: 1rem 1.25rem; margin-top: 1.25rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }\n    .result-label { font-size: .8125rem; color: var(--text-muted); font-weight: 500; }\n    .result-value { font-size: 1.5rem; font-weight: 800; color: var(--accent); font-variant-numeric: tabular-nums; }\n    .result-sub { font-size: .75rem; color: var(--text-muted); margin-top: .125rem; }\n    .info-box { background: var(--warning-bg); border: 1px solid #fde68a; border-radius: var(--radius-sm); padding: .75rem 1rem; margin-top: .875rem; font-size: .8125rem; color: #92400e; }\n    .info-box strong { font-weight: 700; }\n    .grid-table { width: 100%; border-collapse: collapse; font-size: .8125rem; margin-top: .5rem; }\n    .grid-table th { background: var(--accent); color: #fff; padding: .5rem .75rem; text-align: left; font-weight: 600; }\n    .grid-table tr:nth-child(even) td { background: #f8f7f6; }\n    .grid-table td { padding: .45rem .75rem; border-bottom: 1px solid var(--border); }\n    .grid-table tr.highlight td { background: var(--accent-light); font-weight: 700; color: var(--accent-dark); }\n    .disclaimer { margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid var(--border); font-size: .75rem; color: var(--text-muted); line-height: 1.6; }\n    .disclaimer a { color: var(--accent); text-decoration: none; }\n    .disclaimer a:hover { text-decoration: underline; }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003C!-- CCN IDCC 843 — deviations\n     preavis:       L1234-1 → art. 32 CCN: non-cadres 1sem\u002F\u003C6m, 1m\u002F6-24m, 2m\u002F≥2ans; cadres 1.5m\u002F\u003C2ans, 3m\u002F≥2ans\n     salaire-min:   SMIC → grille coefficients avenant 2026: coeff.155=€12.41\u002Fh … coeff.240=€14.59\u002Fh\n     prime-annuelle:aucune obligation légale → prime fin d'année 4.75% salaire annuel brut 2026 (≥1 an anc.), accord 2024\n     conges:        30j ouvrables L3141-3 → 30j + 6j supplémentaires (art. 30) + jusqu'à 2j fractionnement\n     indemnite:     formule identique L1234-9 → SKIP\n     heures-supp:   25%\u002F50% légal → identique base → SKIP tab\n-->\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"tool-header\">\n    \u003Cdiv>\n      \u003Cdiv class=\"tool-title\">Convention collective Boulangerie-Pâtisserie\u003C\u002Fdiv>\n      \u003Cdiv class=\"tool-sub\">Calculateur des droits spécifiques à la CCN\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cspan class=\"idcc-badge\">IDCC 843\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"tabs-row\" role=\"tablist\">\n    \u003Cbutton class=\"tab-btn\" data-tab=\"preavis\" role=\"tab\">\u003Ci data-lucide=\"clock\" width=\"14\" height=\"14\">\u003C\u002Fi> Préavis\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"salaire-min\" role=\"tab\">\u003Ci data-lucide=\"bar-chart-2\" width=\"14\" height=\"14\">\u003C\u002Fi> Grille salariale\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"prime-annuelle\" role=\"tab\">\u003Ci data-lucide=\"gift\" width=\"14\" height=\"14\">\u003C\u002Fi> Prime fin d'année\u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"conges\" role=\"tab\">\u003Ci data-lucide=\"sun\" width=\"14\" height=\"14\">\u003C\u002Fi> Congés payés\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\n  \u003C!-- PANEL: Préavis -->\n  \u003Cdiv class=\"panel\" data-panel=\"preavis\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN IDCC 843 (art. 32) prévoit des préavis spécifiques. Les \u003Cstrong>cadres obtiennent 3 mois\u003C\u002Fstrong> (≥ 2 ans d'ancienneté), plus favorable que le Code du travail. Les non-cadres ont \u003Cstrong>1 semaine\u003C\u002Fstrong> en deçà de 6 mois d'ancienneté.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Catégorie professionnelle\u003C\u002Flabel>\n      \u003Cdiv class=\"toggle-row\" id=\"cat-toggle\">\n        \u003Cbutton class=\"toggle-btn active\" data-cat=\"non-cadre\">Non-cadre\u003C\u002Fbutton>\n        \u003Cbutton class=\"toggle-btn\" data-cat=\"cadre\">Cadre\u003C\u002Fbutton>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Ancienneté \u003Cspan class=\"form-label-val\" id=\"anc-preavis-val\">3 ans\u003C\u002Fspan>\u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"anc-preavis\" min=\"0\" max=\"30\" value=\"3\" step=\"1\">\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Motif de rupture\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"motif-pills\">\n        \u003Cbutton class=\"pill active\" data-motif=\"licenciement\">Licenciement\u003C\u002Fbutton>\n        \u003Cbutton class=\"pill\" data-motif=\"demission\">Démission\u003C\u002Fbutton>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv>\n        \u003Cdiv class=\"result-label\">Durée du préavis\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"preavis-value\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-sub\" id=\"preavis-sub\">—\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Ci data-lucide=\"clock\" width=\"32\" height=\"32\" style=\"color:var(--accent);opacity:.3;flex-shrink:0\">\u003C\u002Fi>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"info-box\" id=\"preavis-note\">\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- PANEL: Grille salariale -->\n  \u003Cdiv class=\"panel\" data-panel=\"salaire-min\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN 843 publie une grille par coefficient (avenant 2026, +1,20%). Les minima vont de \u003Cstrong>€12,41\u002Fh (coeff. 155)\u003C\u002Fstrong> à \u003Cstrong>€14,59\u002Fh (coeff. 240)\u003C\u002Fstrong>, tous supérieurs au SMIC 2026 (€12,13\u002Fh).\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Coefficient \u002F Catégorie\u003C\u002Flabel>\n      \u003Cselect id=\"coeff-select\">\n        \u003Coptgroup label=\"Ouvriers \u002F Employés de vente\">\n          \u003Coption value=\"155\" data-hourly=\"12.41\">Coeff. 155 — Ouvrier, vendeur débutant (€12,41\u002Fh)\u003C\u002Foption>\n          \u003Coption value=\"160\" data-hourly=\"12.53\">Coeff. 160 — Ouvrier qualifié niv. I (€12,53\u002Fh)\u003C\u002Foption>\n          \u003Coption value=\"170\" data-hourly=\"12.78\">Coeff. 170 — Ouvrier qualifié niv. II (€12,78\u002Fh)\u003C\u002Foption>\n          \u003Coption value=\"175\" data-hourly=\"12.91\">Coeff. 175 — Ouvrier qualifié niv. III (€12,91\u002Fh)\u003C\u002Foption>\n          \u003Coption value=\"180\" data-hourly=\"13.03\">Coeff. 180 — Vendeur qualifié (€13,03\u002Fh)\u003C\u002Foption>\n        \u003C\u002Foptgroup>\n        \u003Coptgroup label=\"Employés qualifiés\">\n          \u003Coption value=\"185\" data-hourly=\"13.31\">Coeff. 185 — Employé qualifié (€13,31\u002Fh)\u003C\u002Foption>\n          \u003Coption value=\"190\" data-hourly=\"13.43\">Coeff. 190 — Employé qualifié confirmé (€13,43\u002Fh)\u003C\u002Foption>\n          \u003Coption value=\"195\" data-hourly=\"13.54\">Coeff. 195 — Employé haute qualification (€13,54\u002Fh)\u003C\u002Foption>\n        \u003C\u002Foptgroup>\n        \u003Coptgroup label=\"Agents de maîtrise \u002F Cadres\">\n          \u003Coption value=\"240\" data-hourly=\"14.59\">Coeff. 240 — Agent de maîtrise \u002F Cadre (€14,59\u002Fh)\u003C\u002Foption>\n        \u003C\u002Foptgroup>\n      \u003C\u002Fselect>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Heures hebdomadaires \u003Cspan class=\"form-label-val\" id=\"heures-val\">35 h\u003C\u002Fspan>\u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"heures-range\" min=\"24\" max=\"48\" value=\"35\" step=\"0.5\">\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv>\n        \u003Cdiv class=\"result-label\">Salaire brut mensuel minimum\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"salaire-value\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-sub\" id=\"salaire-sub\">—\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Ci data-lucide=\"bar-chart-2\" width=\"32\" height=\"32\" style=\"color:var(--accent);opacity:.3;flex-shrink:0\">\u003C\u002Fi>\n    \u003C\u002Fdiv>\n    \u003Cdiv style=\"margin-top:1rem\">\n      \u003Cp style=\"font-size:.75rem;font-weight:700;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em\">Grille complète 2026\u003C\u002Fp>\n      \u003Ctable class=\"grid-table\">\n        \u003Cthead>\u003Ctr>\u003Cth>Coeff.\u003C\u002Fth>\u003Cth>Catégorie\u003C\u002Fth>\u003Cth>€\u002Fh\u003C\u002Fth>\u003Cth>€ brut\u002Fmois (35h)\u003C\u002Fth>\u003C\u002Ftr>\u003C\u002Fthead>\n        \u003Ctbody id=\"grid-body\">\u003C\u002Ftbody>\n      \u003C\u002Ftable>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- PANEL: Prime fin d'année -->\n  \u003Cdiv class=\"panel\" data-panel=\"prime-annuelle\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN 843 prévoit une \u003Cstrong>prime de fin d'année\u003C\u002Fstrong> pour tout salarié justifiant d'\u003Cstrong>au moins 1 an d'ancienneté\u003C\u002Fstrong> au 31 décembre. Son taux progresse : \u003Cstrong>4,75% du salaire annuel brut en 2026\u003C\u002Fstrong>, puis 5,00% dès 2027 (accord paritaire 2024). Le Code du travail ne prévoit aucune prime obligatoire.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Salaire brut mensuel \u003Cspan class=\"form-label-val\" id=\"salaire-prime-val\">2 200 €\u003C\u002Fspan>\u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"salaire-prime\" min=\"1400\" max=\"6000\" value=\"2200\" step=\"50\">\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Ancienneté \u003Cspan class=\"form-label-val\" id=\"anc-prime-val\">3 ans\u003C\u002Fspan>\u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"anc-prime\" min=\"0\" max=\"30\" value=\"3\" step=\"1\">\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Année de versement\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"annee-pills\">\n        \u003Cbutton class=\"pill active\" data-annee=\"2026\">2026 (4,75%)\u003C\u002Fbutton>\n        \u003Cbutton class=\"pill\" data-annee=\"2027\">2027 (5,00%)\u003C\u002Fbutton>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Mois travaillés dans l'année \u003Cspan class=\"form-label-val\" id=\"mois-val\">12 mois\u003C\u002Fspan>\u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"mois-range\" min=\"1\" max=\"12\" value=\"12\" step=\"1\">\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv>\n        \u003Cdiv class=\"result-label\">Prime de fin d'année\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"prime-value\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-sub\" id=\"prime-sub\">—\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Ci data-lucide=\"gift\" width=\"32\" height=\"32\" style=\"color:var(--accent);opacity:.3;flex-shrink:0\">\u003C\u002Fi>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"info-box\" id=\"prime-note\" style=\"display:none\">\n      \u003Cstrong>Attention :\u003C\u002Fstrong> Ancienneté insuffisante. La prime de fin d'année requiert \u003Cstrong>au moins 1 an d'ancienneté\u003C\u002Fstrong> au 31 décembre.\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- PANEL: Congés payés -->\n  \u003Cdiv class=\"panel\" data-panel=\"conges\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN 843 (art. 30) octroie \u003Cstrong>6 jours ouvrables supplémentaires\u003C\u002Fstrong> au-delà des 30 jours légaux, à prendre entre le 15 janvier et le 1er mai. Des jours de \u003Cstrong>fractionnement\u003C\u002Fstrong> (jusqu'à 2 jours) s'ajoutent si des congés sont posés hors période principale.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Ancienneté \u003Cspan class=\"form-label-val\" id=\"anc-conges-val\">3 ans\u003C\u002Fspan>\u003C\u002Flabel>\n      \u003Cinput type=\"range\" id=\"anc-conges\" min=\"0\" max=\"30\" value=\"3\" step=\"1\">\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Temps de travail\u003C\u002Flabel>\n      \u003Cdiv class=\"toggle-row\" id=\"temps-toggle\">\n        \u003Cbutton class=\"toggle-btn active\" data-temps=\"plein\">Temps plein\u003C\u002Fbutton>\n        \u003Cbutton class=\"toggle-btn\" data-temps=\"partiel\">Temps partiel\u003C\u002Fbutton>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-group\">\n      \u003Clabel class=\"form-label\">Jours hors période principale (mai–octobre)\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"frac-pills\">\n        \u003Cbutton class=\"pill active\" data-frac=\"0\">Aucun\u003C\u002Fbutton>\n        \u003Cbutton class=\"pill\" data-frac=\"3\">3 à 5 jours (+1j)\u003C\u002Fbutton>\n        \u003Cbutton class=\"pill\" data-frac=\"6\">6 jours et plus (+2j)\u003C\u002Fbutton>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv>\n        \u003Cdiv class=\"result-label\">Congés payés annuels\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"conges-value\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-sub\" id=\"conges-sub\">—\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Ci data-lucide=\"sun\" width=\"32\" height=\"32\" style=\"color:var(--accent);opacity:.3;flex-shrink:0\">\u003C\u002Fi>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"info-box\">\n      \u003Cstrong>Rappel :\u003C\u002Fstrong> Les 6 jours supplémentaires doivent être pris entre le \u003Cstrong>15 janvier et le 1er mai\u003C\u002Fstrong>. À défaut, l'employeur verse une indemnité compensatrice équivalente à 6 jours de salaire.\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cp class=\"disclaimer\">\n    Calcul indicatif basé sur la CCN IDCC 843 (Boulangerie-Pâtisserie artisanale).\n    Sources&nbsp;: \u003Ca href=\"https:\u002F\u002Fwww.legifrance.gouv.fr\u002Fconv_coll\u002Fid\u002FKALICONT000005635516\u002F\" target=\"_blank\" rel=\"noopener\">Légifrance\u003C\u002Fa> — avenant 2026 grille salariale — art. 30, 32 CCN 843 — accord prime fin d'année 2024.\n    Pour toute validation légale\n  \u003C\u002Fp>\n\u003C\u002Fmain>\n\n\u003Cscript>\n(function(){\n  const fmtEur = v => new Intl.NumberFormat('fr-FR',{style:'currency',currency:'EUR',maximumFractionDigits:0}).format(v);\n  const fmtH   = v => new Intl.NumberFormat('fr-FR',{minimumFractionDigits:2,maximumFractionDigits:2}).format(v);\n\n  const GRID=[\n    {coeff:155,label:'Ouvrier \u002F Vendeur débutant',hourly:12.41},\n    {coeff:160,label:'Ouvrier qualifié niv. I',hourly:12.53},\n    {coeff:170,label:'Ouvrier qualifié niv. II',hourly:12.78},\n    {coeff:175,label:'Ouvrier qualifié niv. III',hourly:12.91},\n    {coeff:180,label:'Vendeur qualifié',hourly:13.03},\n    {coeff:185,label:'Employé qualifié',hourly:13.31},\n    {coeff:190,label:'Employé qualifié confirmé',hourly:13.43},\n    {coeff:195,label:'Employé haute qualification',hourly:13.54},\n    {coeff:240,label:'Agent de maîtrise \u002F Cadre',hourly:14.59},\n  ];\n\n  const state={cat:'non-cadre',ancPreavis:3,motif:'licenciement',hourly:12.41,heures:35,salairePrime:2200,ancPrime:3,annee:'2026',mois:12,ancConges:3,temps:'plein',frac:0};\n\n  \u002F\u002F Build grid table\n  const tbody=document.getElementById('grid-body');\n  GRID.forEach(r=>{\n    const tr=document.createElement('tr');\n    tr.dataset.coeff=r.coeff;\n    tr.innerHTML=`\u003Ctd>${r.coeff}\u003C\u002Ftd>\u003Ctd>${r.label}\u003C\u002Ftd>\u003Ctd>${fmtH(r.hourly)}\u003C\u002Ftd>\u003Ctd class=\"mc\">${fmtEur(r.hourly*35*52\u002F12)}\u003C\u002Ftd>`;\n    tbody.appendChild(tr);\n  });\n\n  function computePreavis(){\n    const {cat,ancPreavis:a,motif}=state;\n    let dur,note;\n    if(motif==='demission'){\n      dur=a\u003C0.5?'1 semaine':cat==='cadre'?'2 mois':'2 semaines';\n      note='En cas de démission, l\\'employeur peut dispenser le salarié d\\'effectuer son préavis.';\n    }else{\n      if(cat==='cadre') dur=a\u003C2?'1 mois et demi':'3 mois';\n      else dur=a\u003C0.5?'1 semaine':a\u003C2?'1 mois':'2 mois';\n      note='En cas de licenciement, le salarié peut être dispensé d\\'effectuer son préavis tout en conservant sa rémunération.';\n    }\n    const catL=cat==='cadre'?'Cadre':'Non-cadre';\n    const motL=motif==='licenciement'?'Licenciement':'Démission';\n    const ancL=a\u003C1?Math.round(a*12)+' mois':a+' an'+(a>1?'s':'');\n    document.getElementById('preavis-value').textContent=dur;\n    document.getElementById('preavis-sub').textContent=`${catL} · ${ancL} · ${motL}`;\n    document.getElementById('preavis-note').innerHTML=`\u003Cstrong>Note&nbsp;:\u003C\u002Fstrong> ${note}`;\n  }\n\n  function computeSalaire(){\n    const {hourly,heures}=state;\n    const monthly=hourly*heures*52\u002F12;\n    document.getElementById('salaire-value').textContent=fmtEur(monthly);\n    document.getElementById('salaire-sub').textContent=`${heures}h\u002Fsem · €${fmtH(hourly)}\u002Fh`;\n    const selCoeff=parseInt(document.getElementById('coeff-select').value);\n    tbody.querySelectorAll('tr').forEach(tr=>{\n      const c=parseInt(tr.dataset.coeff);\n      const r=GRID.find(x=>x.coeff===c);\n      tr.classList.toggle('highlight',c===selCoeff);\n      const mc=tr.querySelector('.mc');\n      if(mc&&r) mc.textContent=fmtEur(r.hourly*heures*52\u002F12);\n    });\n  }\n\n  function computePrime(){\n    const {salairePrime,ancPrime,annee,mois}=state;\n    const noteEl=document.getElementById('prime-note');\n    if(ancPrime\u003C1){\n      document.getElementById('prime-value').textContent='0 €';\n      document.getElementById('prime-sub').textContent='Ancienneté insuffisante (\u003C 1 an)';\n      noteEl.style.display='block'; return;\n    }\n    noteEl.style.display='none';\n    const taux=annee==='2026'?0.0475:0.05;\n    const annuelBrut=salairePrime*12;\n    const prime=annuelBrut*taux*mois\u002F12;\n    document.getElementById('prime-value').textContent=fmtEur(prime);\n    document.getElementById('prime-sub').textContent=`${(taux*100).toFixed(2).replace('.',',')}% × ${fmtEur(annuelBrut)} × ${mois}\u002F12 mois`;\n  }\n\n  function computeConges(){\n    const {frac,temps}=state;\n    const fracDays=frac===3?1:frac===6?2:0;\n    const total=30+6+fracDays;\n    document.getElementById('conges-value').textContent=`${total} jours ouvrables`;\n    document.getElementById('conges-sub').textContent=`30j légaux + 6j CCN 843 + ${fracDays}j fractionnement`+(temps==='partiel'?' (temps partiel)':'');\n  }\n\n  \u002F\u002F Tab switching\n  const tabBtns=document.querySelectorAll('[data-tab]');\n  const panels=document.querySelectorAll('[data-panel]');\n  function activate(id){\n    tabBtns.forEach(t=>{ const a=t.dataset.tab===id; t.classList.toggle('active',a); t.setAttribute('aria-selected',String(a)); });\n    panels.forEach(p=>{ const a=p.dataset.panel===id; p.classList.toggle('active',a); p.style.display=a?'block':'none'; });\n    if (location.hash !== '#' + id) location.hash = id;\n    requestAnimationFrame(()=>{ window.dispatchEvent(new Event('resize')); notifyHeight(); });\n  }\n  tabBtns.forEach(t=>t.addEventListener('click',()=>activate(t.dataset.tab)));\n  const firstTab=tabBtns[0].dataset.tab;\n  const hashTab=location.hash.slice(1);\n  activate([...tabBtns].some(t=>t.dataset.tab===hashTab)?hashTab:firstTab);\n\n  function notifyHeight(){\n    const h=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight);\n    parent.postMessage({type:'resize',height:h},'*');\n  }\n  const ro=new ResizeObserver(notifyHeight);\n  ro.observe(document.documentElement);\n\n  \u002F\u002F Preavis listeners\n  document.querySelectorAll('#cat-toggle .toggle-btn').forEach(b=>b.addEventListener('click',()=>{\n    state.cat=b.dataset.cat;\n    document.querySelectorAll('#cat-toggle .toggle-btn').forEach(x=>x.classList.toggle('active',x===b));\n    computePreavis();\n  }));\n  document.getElementById('anc-preavis').addEventListener('input',e=>{\n    state.ancPreavis=parseFloat(e.target.value);\n    const l=state.ancPreavis\u003C1?Math.round(state.ancPreavis*12)+' mois':state.ancPreavis+' an'+(state.ancPreavis>1?'s':'');\n    document.getElementById('anc-preavis-val').textContent=l;\n    computePreavis();\n  });\n  document.querySelectorAll('#motif-pills .pill').forEach(b=>b.addEventListener('click',()=>{\n    state.motif=b.dataset.motif;\n    document.querySelectorAll('#motif-pills .pill').forEach(x=>x.classList.toggle('active',x===b));\n    computePreavis();\n  }));\n\n  \u002F\u002F Salaire listeners\n  document.getElementById('coeff-select').addEventListener('change',e=>{\n    state.hourly=parseFloat(e.target.selectedOptions[0].dataset.hourly);\n    computeSalaire();\n  });\n  document.getElementById('heures-range').addEventListener('input',e=>{\n    state.heures=parseFloat(e.target.value);\n    document.getElementById('heures-val').textContent=state.heures+' h';\n    computeSalaire();\n  });\n\n  \u002F\u002F Prime listeners\n  document.getElementById('salaire-prime').addEventListener('input',e=>{\n    state.salairePrime=parseInt(e.target.value);\n    document.getElementById('salaire-prime-val').textContent=fmtEur(state.salairePrime);\n    computePrime();\n  });\n  document.getElementById('anc-prime').addEventListener('input',e=>{\n    state.ancPrime=parseInt(e.target.value);\n    document.getElementById('anc-prime-val').textContent=state.ancPrime+' an'+(state.ancPrime!==1?'s':'');\n    computePrime();\n  });\n  document.querySelectorAll('#annee-pills .pill').forEach(b=>b.addEventListener('click',()=>{\n    state.annee=b.dataset.annee;\n    document.querySelectorAll('#annee-pills .pill').forEach(x=>x.classList.toggle('active',x===b));\n    computePrime();\n  }));\n  document.getElementById('mois-range').addEventListener('input',e=>{\n    state.mois=parseInt(e.target.value);\n    document.getElementById('mois-val').textContent=state.mois+' mois';\n    computePrime();\n  });\n\n  \u002F\u002F Congés listeners\n  document.getElementById('anc-conges').addEventListener('input',e=>{\n    state.ancConges=parseInt(e.target.value);\n    document.getElementById('anc-conges-val').textContent=state.ancConges+' an'+(state.ancConges!==1?'s':'');\n    computeConges();\n  });\n  document.querySelectorAll('#temps-toggle .toggle-btn').forEach(b=>b.addEventListener('click',()=>{\n    state.temps=b.dataset.temps;\n    document.querySelectorAll('#temps-toggle .toggle-btn').forEach(x=>x.classList.toggle('active',x===b));\n    computeConges();\n  }));\n  document.querySelectorAll('#frac-pills .pill').forEach(b=>b.addEventListener('click',()=>{\n    state.frac=parseInt(b.dataset.frac);\n    document.querySelectorAll('#frac-pills .pill').forEach(x=>x.classList.toggle('active',x===b));\n    computeConges();\n  }));\n\n  \u002F\u002F Initial render\n  computePreavis(); computeSalaire(); computePrime(); computeConges();\n  if(typeof lucide!=='undefined') lucide.createIcons();\n})();\n\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","generated","juridique","consumer","both","https:\u002F\u002Fpub-bdebbd2dad294475a2da0eb657815b6b.r2.dev\u002Ftools\u002Fccn-boulangerie-patisserie-7a0ad21cc6.webp",[]]