[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-ccn-commerce-succursaliste-de-la-chaussure-fr":83,"footer-cities-fr":155},[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":126,"tool_html":149,"source":150,"category":151,"audience":152,"publish_mode":153,"hero_image":154,"hero_image_alt":7},"ccn-commerce-succursaliste-de-la-chaussure","CCN du commerce succursaliste de la chaussure — calculateur complet","Calculateur CCN Commerce Succursaliste de la Chaussure IDCC 468 | Expert Zoom","Outil interactif couvrant l'indemnité de licenciement, le préavis, la grille salariale 2025 et la prime d'ancienneté de la CCN du commerce succursaliste de la chaussure (IDCC 468).","Ce calculateur couvre les 4 grandes dérogations de la CCN IDCC 468 : indemnité de licenciement (formule 1\u002F10 puis 1\u002F4, plafond 6 mois), préavis par ancienneté et statut, grille salariale 2025 (accord du 3 décembre 2024) en 12 niveaux, et prime d'ancienneté progressive de 3 % à 15 %.",[90,109],{"name":91,"@type":92,"about":93,"author":97,"@context":100,"isPartOf":101,"inLanguage":104,"description":105,"operatingSystem":106,"applicationCategory":107,"isAccessibleForFree":108},"Calculateur CCN Commerce Succursaliste de la Chaussure — IDCC 468","WebApplication",{"name":94,"@type":95,"identifier":96},"Convention collective du commerce succursaliste de la chaussure","Thing","IDCC 468",{"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 l'indemnité de licenciement, le préavis, la grille salariale 2025 et la prime d'ancienneté de la convention collective du commerce succursaliste de la chaussure (IDCC 468).","All","FinanceApplication",true,{"@type":110,"@context":100,"mainEntity":111},"FAQPage",[112,118,122],{"name":113,"@type":114,"acceptedAnswer":115},"Comment calculer l'indemnité de licenciement dans la CCN commerce succursaliste de la chaussure ?","Question",{"text":116,"@type":117},"La CCN IDCC 468 prévoit 1\u002F10 de mois par année pour les 3 premières années, puis 1\u002F4 de mois par année au-delà, plafonné à 6 mois de salaire brut.","Answer",{"name":119,"@type":114,"acceptedAnswer":120},"Quelle est la durée du préavis dans la CCN chaussure IDCC 468 ?",{"text":121,"@type":117},"Pour les non-cadres : 15 jours (\u003C 6 mois), 1 mois (6 mois–2 ans), 2 mois (> 2 ans). Pour les cadres : 3 mois.",{"name":123,"@type":114,"acceptedAnswer":124},"La CCN chaussure IDCC 468 prévoit-elle une prime d'ancienneté ?",{"text":125,"@type":117},"Oui, une prime d'ancienneté obligatoire : 3 % à 3 ans, 6 % à 6 ans, 9 % à 9 ans, 12 % à 12 ans, 15 % à 15 ans.",[127,129,132,135,137,140,143,146],{"a":128,"q":113},"La CCN IDCC 468 prévoit une formule spécifique : 1\u002F10 de mois de salaire par année d'ancienneté pour les 3 premières années, puis 1\u002F4 de mois par année au-delà. L'indemnité est plafonnée à 6 mois de salaire brut. L'ancienneté minimale requise est d'1 an.",{"a":130,"q":131},"Pour les non-cadres (niveaux 1 à 7) : 15 jours si moins de 6 mois d'ancienneté, 1 mois entre 6 mois et 2 ans, 2 mois au-delà de 2 ans. Pour les cadres (niveaux 8 à 12) : 3 mois quel que soit l'ancienneté.","Quelle est la durée du préavis de licenciement dans la convention collective chaussure (IDCC 468) ?",{"a":133,"q":134},"Selon l'accord du 3 décembre 2024, applicable au 1er janvier 2025 : les employés de niveau 1 touchent 1 808,88 € brut\u002Fmois (35h), et les agents de maîtrise niveau 7 touchent 2 286,81 €. Les cadres bénéficient de minima annuels allant de 29 428 € (niveau 8) à 47 133 € (niveau 12).","Quelle est la grille de salaires minimum de la CCN commerce succursaliste de la chaussure en 2025 ?",{"a":136,"q":123},"Oui. La CCN impose une prime d'ancienneté progressive calculée sur le salaire minimum garanti : 3 % dès 3 ans d'ancienneté, 6 % à 6 ans, 9 % à 9 ans, 12 % à 12 ans, et 15 % à partir de 15 ans. Cette prime doit figurer séparément sur le bulletin de paie.",{"a":138,"q":139},"La CCN IDCC 468 ne prévoit pas de 13e mois obligatoire à titre général. Elle impose en revanche une prime d'ancienneté progressive (3 % à 15 % selon l'ancienneté) qui améliore la rémunération globale.","Y a-t-il un 13e mois dans la convention collective du commerce succursaliste de la chaussure ?",{"a":141,"q":142},"Les salariés bénéficient des 30 jours ouvrables légaux (5 semaines), conformément à l'article L3141-3 du code du travail. Des jours supplémentaires liés à l'ancienneté peuvent s'ajouter selon les dispositions de l'entreprise.","Combien de jours de congés payés dans la CCN chaussure (IDCC 468) ?",{"a":144,"q":145},"La CCN IDCC 468 (Brochure JO 3120) couvre les entreprises dont l'activité principale est la vente au détail de chaussures et qui exploitent au moins 5 magasins en propre sur le territoire national (réseau succursaliste).","Quelle entreprise relève de la CCN commerce succursaliste de la chaussure ?",{"a":147,"q":148},"Pas tout à fait. Pour les non-cadres avec plus de 2 ans d'ancienneté, le préavis de licenciement est de 2 mois mais le préavis de démission est réduit à 1 mois. Pour les autres tranches, les durées sont identiques quelle que soit la direction de la rupture.","Le préavis de démission est-il le même que le préavis de licenciement dans l'IDCC 468 ?","\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 Commerce Succursaliste de la Chaussure — IDCC 468\u003C\u002Ftitle>\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    :root {\n      --bg: #fafaf9;\n      --surface: #ffffff;\n      --border: #e7e5e4;\n      --accent: #2563eb;\n      --accent-dark: #1d4ed8;\n      --accent-light: #eff6ff;\n      --accent-border: #bfdbfe;\n      --text: #1c1917;\n      --muted: #78716c;\n      --success-bg: #f0fdf4;\n      --success-border: #86efac;\n      --success-text: #166534;\n      --warn-bg: #fefce8;\n      --warn-border: #fde047;\n      --warn-text: #854d0e;\n      --radius: 0.75rem;\n      --radius-sm: 0.375rem;\n    }\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n    body {\n      font-family: system-ui, -apple-system, sans-serif;\n      background: var(--bg);\n      color: var(--text);\n      font-size: 15px;\n      line-height: 1.5;\n    }\n    .tool-root {\n      max-width: 720px;\n      margin: 0 auto;\n      padding: 1.25rem 1rem 2rem;\n    }\n    .tool-header { margin-bottom: 1.25rem; }\n    .tool-header h1 {\n      font-size: 1.15rem;\n      font-weight: 700;\n      color: var(--text);\n      margin-bottom: 0.25rem;\n    }\n    .idcc-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.3rem;\n      background: var(--accent-light);\n      color: var(--accent);\n      border: 1px solid var(--accent-border);\n      border-radius: 999px;\n      padding: 0.15rem 0.6rem;\n      font-size: 0.75rem;\n      font-weight: 600;\n    }\n    \u002F* Tabs *\u002F\n    .tabs-bar {\n      display: flex;\n      gap: 0;\n      border-bottom: 2px solid var(--border);\n      margin-bottom: 1.25rem;\n      overflow-x: auto;\n      scrollbar-width: none;\n    }\n    .tabs-bar::-webkit-scrollbar { display: none; }\n    .tab-btn {\n      display: flex;\n      align-items: center;\n      gap: 0.35rem;\n      padding: 0.6rem 1rem;\n      background: none;\n      border: none;\n      border-bottom: 3px solid transparent;\n      margin-bottom: -2px;\n      cursor: pointer;\n      font-size: 0.85rem;\n      font-weight: 500;\n      color: var(--muted);\n      white-space: nowrap;\n      transition: color 0.15s, border-color 0.15s;\n    }\n    .tab-btn:hover { color: var(--accent); }\n    .tab-btn.active { color: var(--accent); border-bottom-color: var(--accent); font-weight: 600; }\n    \u002F* Panels *\u002F\n    .panel { display: none; }\n    .panel.active { display: block; }\n    \u002F* Rule callout *\u002F\n    .rule-callout {\n      display: flex;\n      gap: 0.6rem;\n      align-items: flex-start;\n      background: var(--accent-light);\n      border: 1px solid var(--accent-border);\n      border-radius: var(--radius-sm);\n      padding: 0.75rem 1rem;\n      margin-bottom: 1.25rem;\n      color: #1e40af;\n      font-size: 0.85rem;\n      line-height: 1.5;\n    }\n    .rule-callout svg { flex-shrink: 0; margin-top: 2px; }\n    \u002F* Form *\u002F\n    .form-grid {\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 1rem;\n      margin-bottom: 1.25rem;\n    }\n    @media (max-width: 500px) { .form-grid { grid-template-columns: 1fr; } }\n    .field { display: flex; flex-direction: column; gap: 0.35rem; }\n    .field.full { grid-column: 1 \u002F -1; }\n    label {\n      font-size: 0.8rem;\n      font-weight: 600;\n      color: var(--muted);\n      text-transform: uppercase;\n      letter-spacing: 0.04em;\n    }\n    input[type=\"range\"] {\n      width: 100%;\n      accent-color: var(--accent);\n      cursor: pointer;\n    }\n    .range-val {\n      font-size: 0.9rem;\n      font-weight: 600;\n      color: var(--text);\n      font-variant-numeric: tabular-nums;\n    }\n    select {\n      padding: 0.5rem 0.75rem;\n      border: 1px solid var(--border);\n      border-radius: var(--radius-sm);\n      background: var(--surface);\n      font-size: 0.9rem;\n      color: var(--text);\n      cursor: pointer;\n      width: 100%;\n    }\n    \u002F* Pills *\u002F\n    .pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }\n    .pill {\n      padding: 0.35rem 0.75rem;\n      border: 1.5px solid var(--border);\n      border-radius: 999px;\n      background: var(--surface);\n      font-size: 0.82rem;\n      font-weight: 500;\n      cursor: pointer;\n      transition: all 0.15s;\n      color: var(--text);\n    }\n    .pill.selected { background: var(--accent); border-color: var(--accent); color: #fff; }\n    \u002F* Result card *\u002F\n    .result-card {\n      background: var(--surface);\n      border: 1.5px solid var(--accent);\n      border-radius: var(--radius);\n      padding: 1.25rem 1.5rem;\n      margin-bottom: 1rem;\n    }\n    .result-label {\n      font-size: 0.8rem;\n      font-weight: 600;\n      color: var(--muted);\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n      margin-bottom: 0.35rem;\n    }\n    .result-main {\n      font-size: 2rem;\n      font-weight: 800;\n      color: var(--accent-dark);\n      font-variant-numeric: tabular-nums;\n      letter-spacing: -0.02em;\n    }\n    .result-sub { font-size: 0.82rem; color: var(--muted); margin-top: 0.3rem; }\n    .result-detail {\n      margin-top: 0.75rem;\n      padding-top: 0.75rem;\n      border-top: 1px solid var(--border);\n      font-size: 0.83rem;\n      color: var(--text);\n      display: grid;\n      gap: 0.25rem;\n    }\n    .detail-row {\n      display: flex;\n      justify-content: space-between;\n      gap: 1rem;\n    }\n    .detail-row span:last-child { font-weight: 600; font-variant-numeric: tabular-nums; }\n    \u002F* Disclaimer *\u002F\n    .disclaimer {\n      font-size: 0.78rem;\n      color: var(--muted);\n      border-top: 1px solid var(--border);\n      padding-top: 1rem;\n      margin-top: 1.25rem;\n      line-height: 1.6;\n    }\n    .disclaimer a { color: var(--accent); text-decoration: underline; }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003C!-- CCN IDCC 468 — Commerce Succursaliste de la Chaussure — deviations vs code du travail\n     indemnite:       L1234-9 → 1\u002F10 mois\u002Fan (≤3 ans) puis 1\u002F4 mois\u002Fan (>3 ans), plafonné 6 mois, seuil 1 an\n                      source: KALICONT000005635394 art. licenciement\n     preavis:         L1234-1 → 15j (\u003C6 mois), 1 mois (6m-2 ans), 2 mois (>2 ans) pour non-cadres; 3 mois pour cadres\n                      source: HelloWork \u002F LégiSocial IDCC 468\n     salaire-min:     SMIC → grille 12 niveaux: employés N1(1808.88)–N5 éch.2(1918.98), AM N6(2068.64)–N7(2286.81),\n                      cadres N8(29428€\u002Fan)–N12(47133€\u002Fan). Accord 3 déc. 2024 applicable 01\u002F01\u002F2025.\n     prime-anciennete: aucune obligation légale → 3% à 3 ans, 6% à 6 ans, 9% à 9 ans, 12% à 12 ans, 15% ≥15 ans\n                      source: LégiSocial \u002F IDCC 468 dispositions générales\n     conges: L3141-3 30j → conforme standard — tab skipped\n     heures-supp: L3121-36 → données insuffisantes pour confirmer déviation — tab skipped -->\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"tool-header\">\n    \u003Ch1>CCN Commerce Succursaliste de la Chaussure\u003C\u002Fh1>\n    \u003Cspan class=\"idcc-badge\">\u003Ci data-lucide=\"file-text\" width=\"12\" height=\"12\">\u003C\u002Fi>&nbsp;IDCC 468\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Tab bar -->\n  \u003Cdiv class=\"tabs-bar\" role=\"tablist\">\n    \u003Cbutton class=\"tab-btn\" data-tab=\"indemnite\" role=\"tab\" aria-selected=\"false\">\n      \u003Ci data-lucide=\"calculator\" width=\"14\" height=\"14\">\u003C\u002Fi>Indemnité\n    \u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"preavis\" role=\"tab\" aria-selected=\"false\">\n      \u003Ci data-lucide=\"clock\" width=\"14\" height=\"14\">\u003C\u002Fi>Préavis\n    \u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"salaire-min\" role=\"tab\" aria-selected=\"false\">\n      \u003Ci data-lucide=\"bar-chart-2\" width=\"14\" height=\"14\">\u003C\u002Fi>Grille salariale\n    \u003C\u002Fbutton>\n    \u003Cbutton class=\"tab-btn\" data-tab=\"prime-anciennete\" role=\"tab\" aria-selected=\"false\">\n      \u003Ci data-lucide=\"trending-up\" width=\"14\" height=\"14\">\u003C\u002Fi>Prime ancienneté\n    \u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n\n  \u003C!-- ===== TAB 1: INDEMNITÉ DE LICENCIEMENT ===== -->\n  \u003Cdiv class=\"panel\" data-panel=\"indemnite\" role=\"tabpanel\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN IDCC 468 prévoit \u003Cstrong>1\u002F10 de mois par année pour les 3 premières années\u003C\u002Fstrong>, puis \u003Cstrong>1\u002F4 de mois par année au-delà\u003C\u002Fstrong>, plafonné à \u003Cstrong>6 mois de salaire\u003C\u002Fstrong>. Le code du travail (L1234-9) n'applique pas ce plafond et calcule différemment.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-grid\">\n      \u003Cdiv class=\"field\">\n        \u003Clabel>Salaire brut mensuel moyen (€)\u003C\u002Flabel>\n        \u003Cinput type=\"range\" id=\"ind-salaire\" min=\"1200\" max=\"8000\" step=\"50\" value=\"2200\">\n        \u003Cspan class=\"range-val\" id=\"ind-salaire-val\">2 200 €\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field\">\n        \u003Clabel>Ancienneté (années)\u003C\u002Flabel>\n        \u003Cinput type=\"range\" id=\"ind-anciennete\" min=\"0\" max=\"35\" step=\"1\" value=\"8\">\n        \u003Cspan class=\"range-val\" id=\"ind-anciennete-val\">8 ans\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field full\">\n        \u003Clabel>Motif du licenciement\u003C\u002Flabel>\n        \u003Cdiv class=\"pills\" id=\"ind-motif-pills\">\n          \u003Cbutton class=\"pill selected\" data-val=\"perso\">Cause personnelle\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"eco\">Cause économique\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"grave\">Faute grave\u002Flourde\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\" id=\"ind-card\">\n      \u003Cdiv class=\"result-label\">Indemnité conventionnelle estimée\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-main\" id=\"ind-result\">0 €\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-sub\" id=\"ind-result-sub\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-detail\" id=\"ind-detail\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- ===== TAB 2: PRÉAVIS ===== -->\n  \u003Cdiv class=\"panel\" data-panel=\"preavis\" role=\"tabpanel\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN IDCC 468 fixe des durées précises : \u003Cstrong>15 jours\u003C\u002Fstrong> (&lt; 6 mois), \u003Cstrong>1 mois\u003C\u002Fstrong> (6 mois–2 ans), \u003Cstrong>2 mois\u003C\u002Fstrong> (&gt; 2 ans) pour les non-cadres. Pour les \u003Cstrong>cadres\u003C\u002Fstrong> : \u003Cstrong>3 mois\u003C\u002Fstrong> quelle que soit l'ancienneté.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-grid\">\n      \u003Cdiv class=\"field full\">\n        \u003Clabel>Statut professionnel\u003C\u002Flabel>\n        \u003Cdiv class=\"pills\" id=\"pre-statut-pills\">\n          \u003Cbutton class=\"pill selected\" data-val=\"noncadre\">Non-cadre (niv. 1–7)\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"cadre\">Cadre (niv. 8–12)\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field full\" id=\"pre-anc-field\">\n        \u003Clabel>Ancienneté\u003C\u002Flabel>\n        \u003Cdiv class=\"pills\" id=\"pre-anc-pills\">\n          \u003Cbutton class=\"pill selected\" data-val=\"lt6m\">Moins de 6 mois\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"6m2a\">6 mois à 2 ans\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"gt2a\">Plus de 2 ans\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field full\">\n        \u003Clabel>Type de rupture\u003C\u002Flabel>\n        \u003Cdiv class=\"pills\" id=\"pre-dir-pills\">\n          \u003Cbutton class=\"pill selected\" data-val=\"licenciement\">Licenciement\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"demission\">Démission\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv class=\"result-label\">Durée du préavis\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-main\" id=\"pre-result\">—\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-sub\" id=\"pre-result-sub\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- ===== TAB 3: GRILLE SALARIALE ===== -->\n  \u003Cdiv class=\"panel\" data-panel=\"salaire-min\" role=\"tabpanel\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN publie une \u003Cstrong>grille de 12 niveaux\u003C\u002Fstrong> (employés N1–N5, agents de maîtrise N6–N7, cadres N8–N12), tous au-dessus du SMIC. Valeurs issues de l'accord du \u003Cstrong>3 décembre 2024\u003C\u002Fstrong>, en vigueur au 1er janvier 2025.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-grid\">\n      \u003Cdiv class=\"field full\">\n        \u003Clabel>Catégorie\u003C\u002Flabel>\n        \u003Cdiv class=\"pills\" id=\"sal-cat-pills\">\n          \u003Cbutton class=\"pill selected\" data-val=\"employe\">Employé (N1–N5)\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"maitrise\">Agent de maîtrise (N6–N7)\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"cadre\">Cadre (N8–N12)\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field full\">\n        \u003Clabel>Niveau \u002F Échelon\u003C\u002Flabel>\n        \u003Cselect id=\"sal-level\">\u003C\u002Fselect>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field full\">\n        \u003Clabel>Heures hebdomadaires\u003C\u002Flabel>\n        \u003Cdiv class=\"pills\" id=\"sal-heures-pills\">\n          \u003Cbutton class=\"pill selected\" data-val=\"35\">35h (temps plein)\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"30\">30h\u003C\u002Fbutton>\n          \u003Cbutton class=\"pill\" data-val=\"24\">24h\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv class=\"result-label\">Salaire brut mensuel minimum\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-main\" id=\"sal-result\">—\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-sub\" id=\"sal-result-sub\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-detail\" id=\"sal-detail\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- ===== TAB 4: PRIME D'ANCIENNETÉ ===== -->\n  \u003Cdiv class=\"panel\" data-panel=\"prime-anciennete\" role=\"tabpanel\">\n    \u003Cdiv class=\"rule-callout\">\n      \u003Ci data-lucide=\"info\" width=\"16\" height=\"16\">\u003C\u002Fi>\n      \u003Cp>La CCN IDCC 468 impose une \u003Cstrong>prime d'ancienneté progressive\u003C\u002Fstrong> : 3 % dès 3 ans, jusqu'à 15 % à partir de 15 ans. Elle est calculée sur le salaire minimum garanti et doit figurer séparément sur le bulletin de paie. Le code du travail n'impose aucune prime d'ancienneté.\u003C\u002Fp>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"form-grid\">\n      \u003Cdiv class=\"field\">\n        \u003Clabel>Salaire brut mensuel (€)\u003C\u002Flabel>\n        \u003Cinput type=\"range\" id=\"pa-salaire\" min=\"1200\" max=\"6000\" step=\"50\" value=\"2000\">\n        \u003Cspan class=\"range-val\" id=\"pa-salaire-val\">2 000 €\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"field\">\n        \u003Clabel>Ancienneté (années)\u003C\u002Flabel>\n        \u003Cinput type=\"range\" id=\"pa-anciennete\" min=\"0\" max=\"30\" step=\"1\" value=\"5\">\n        \u003Cspan class=\"range-val\" id=\"pa-anciennete-val\">5 ans\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"result-card\">\n      \u003Cdiv class=\"result-label\">Prime d'ancienneté mensuelle\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-main\" id=\"pa-result\">0 €\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-sub\" id=\"pa-result-sub\">\u003C\u002Fdiv>\n      \u003Cdiv class=\"result-detail\" id=\"pa-detail\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Shared disclaimer -->\n  \u003Cp class=\"disclaimer\">\n    Calcul indicatif basé sur la CCN IDCC 468 (Commerce Succursaliste de la Chaussure — Brochure JO 3120).\n    Source&nbsp;: \u003Ca href=\"https:\u002F\u002Fwww.legifrance.gouv.fr\u002Fconv_coll\u002Fid\u002FKALICONT000005635394\" target=\"_blank\" rel=\"noopener\">Légifrance\u003C\u002Fa> — accord de salaires du 3 décembre 2024, applicable au 1er janvier 2025.\n    Pour une validation légale\n  \u003C\u002Fp>\n\u003C\u002Fmain>\n\n\u003Cscript>\n(function () {\n  \u002F* ===== Number formatting ===== *\u002F\n  const fmt0 = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 });\n  const fmt2 = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR', minimumFractionDigits: 2, maximumFractionDigits: 2 });\n\n  \u002F* ===== Tab system ===== *\u002F\n  const tabBtns = document.querySelectorAll('[data-tab]');\n  const panels = document.querySelectorAll('[data-panel]');\n\n  function activate(id) {\n    const ids = Array.from(tabBtns).map(t => t.dataset.tab);\n    if (!ids.includes(id)) id = ids[0];\n    tabBtns.forEach(t => {\n      const active = t.dataset.tab === id;\n      t.classList.toggle('active', active);\n      t.setAttribute('aria-selected', String(active));\n    });\n    panels.forEach(p => p.classList.toggle('active', p.dataset.panel === id));\n    if (location.hash !== '#' + id) location.hash = id;\n    requestAnimationFrame(() => window.dispatchEvent(new Event('resize')));\n  }\n\n  tabBtns.forEach(t => t.addEventListener('click', () => activate(t.dataset.tab)));\n  activate(location.hash.slice(1) || 'indemnite');\n\n  \u002F* ===== ResizeObserver → parent iframe ===== *\u002F\n  const ro = new ResizeObserver(() => {\n    const h = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n    parent.postMessage({ type: 'resize', height: h }, '*');\n  });\n  ro.observe(document.documentElement);\n\n  \u002F* ===== Pills helper ===== *\u002F\n  function initPills(containerId, onChange) {\n    const c = document.getElementById(containerId);\n    if (!c) return;\n    c.querySelectorAll('.pill').forEach(p => {\n      p.addEventListener('click', () => {\n        c.querySelectorAll('.pill').forEach(x => x.classList.remove('selected'));\n        p.classList.add('selected');\n        onChange(p.dataset.val);\n      });\n    });\n  }\n\n  \u002F* =========================================================\n     TAB 1 — INDEMNITÉ DE LICENCIEMENT\n     CCN IDCC 468 : 1\u002F10 mois\u002Fan (≤3 ans) + 1\u002F4 mois\u002Fan (>3 ans), plafond 6 mois\n  ========================================================= *\u002F\n  const ind = { salaire: 2200, anciennete: 8, motif: 'perso' };\n\n  function computeInd() {\n    if (ind.motif === 'grave') return { montant: 0, sub: 'Faute grave ou lourde : pas d\\'indemnité de licenciement.', detail: '' };\n    if (ind.anciennete \u003C 1) return { montant: 0, sub: 'Ancienneté insuffisante (\u003C 1 an requis).', detail: '' };\n    const ans1 = Math.min(ind.anciennete, 3);\n    const ans2 = Math.max(0, ind.anciennete - 3);\n    const t1 = (ind.salaire \u002F 10) * ans1;\n    const t2 = (ind.salaire \u002F 4) * ans2;\n    const brut = t1 + t2;\n    const plafond = ind.salaire * 6;\n    const plafonne = brut > plafond;\n    const montant = plafonne ? plafond : brut;\n    const sub = plafonne ? 'Plafonné à 6 mois de salaire (CCN IDCC 468).' : 'Formule conventionnelle CCN IDCC 468.';\n    let detail = `\u003Cdiv class=\"detail-row\">\u003Cspan>Tranche ≤ 3 ans (${ans1} an${ans1>1?'s':''} × 1\u002F10 mois)\u003C\u002Fspan>\u003Cspan>${fmt2.format(t1)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n    if (ans2 > 0) detail += `\u003Cdiv class=\"detail-row\">\u003Cspan>Tranche > 3 ans (${ans2} an${ans2>1?'s':''} × 1\u002F4 mois)\u003C\u002Fspan>\u003Cspan>${fmt2.format(t2)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n    if (plafonne) detail += `\u003Cdiv class=\"detail-row\" style=\"color:var(--warn-text)\">\u003Cspan>Plafond conventionnel (6 × ${fmt2.format(ind.salaire)})\u003C\u002Fspan>\u003Cspan>${fmt2.format(plafond)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n    return { montant, sub, detail };\n  }\n\n  function renderInd() {\n    const r = computeInd();\n    document.getElementById('ind-result').textContent = fmt2.format(r.montant);\n    document.getElementById('ind-result-sub').textContent = r.sub;\n    document.getElementById('ind-detail').innerHTML = r.detail;\n  }\n\n  document.getElementById('ind-salaire').addEventListener('input', e => {\n    ind.salaire = +e.target.value;\n    document.getElementById('ind-salaire-val').textContent = fmt0.format(ind.salaire);\n    renderInd();\n  });\n  document.getElementById('ind-anciennete').addEventListener('input', e => {\n    ind.anciennete = +e.target.value;\n    document.getElementById('ind-anciennete-val').textContent = e.target.value + ' an' + (+e.target.value > 1 ? 's' : '');\n    renderInd();\n  });\n  initPills('ind-motif-pills', v => { ind.motif = v; renderInd(); });\n  renderInd();\n\n  \u002F* =========================================================\n     TAB 2 — PRÉAVIS\n  ========================================================= *\u002F\n  const pre = { statut: 'noncadre', anciennete: 'lt6m', direction: 'licenciement' };\n\n  function computePre() {\n    if (pre.statut === 'cadre') return { duree: '3 mois', detail: 'Cadres (niveaux 8–12) : 3 mois quelle que soit l\\'ancienneté — CCN IDCC 468.' };\n    const map = {\n      lt6m: { licenciement: '15 jours', demission: '15 jours', label: '\u003C 6 mois d\\'ancienneté' },\n      '6m2a': { licenciement: '1 mois', demission: '1 mois', label: '6 mois à 2 ans d\\'ancienneté' },\n      gt2a: { licenciement: '2 mois', demission: '1 mois', label: '> 2 ans d\\'ancienneté' },\n    };\n    const tier = map[pre.anciennete];\n    const note = (pre.anciennete === 'gt2a' && pre.direction === 'demission') ? ' (préavis réduit à 1 mois en cas de démission)' : '';\n    return { duree: tier[pre.direction], detail: tier.label + note + ' — CCN IDCC 468.' };\n  }\n\n  function renderPre() {\n    const r = computePre();\n    document.getElementById('pre-result').textContent = r.duree;\n    document.getElementById('pre-result-sub').textContent = r.detail;\n    document.getElementById('pre-anc-field').style.display = pre.statut === 'cadre' ? 'none' : '';\n  }\n\n  initPills('pre-statut-pills', v => { pre.statut = v; renderPre(); });\n  initPills('pre-anc-pills', v => { pre.anciennete = v; renderPre(); });\n  initPills('pre-dir-pills', v => { pre.direction = v; renderPre(); });\n  renderPre();\n\n  \u002F* =========================================================\n     TAB 3 — GRILLE SALARIALE\n     Accord 3 déc. 2024, applicable 01\u002F01\u002F2025\n  ========================================================= *\u002F\n  const GRID = {\n    employe: [\n      { label: 'Niveau 1', base35: 1808.88 },\n      { label: 'Niveau 2 — Échelon 1', base35: 1811.49 },\n      { label: 'Niveau 2 — Échelon 2', base35: 1816.75 },\n      { label: 'Niveau 3 — Échelon 1', base35: 1820.97 },\n      { label: 'Niveau 3 — Échelon 2', base35: 1844.16 },\n      { label: 'Niveau 4 — Échelon 1', base35: 1865.24 },\n      { label: 'Niveau 4 — Échelon 2', base35: 1875.78 },\n      { label: 'Niveau 5 — Échelon 1', base35: 1908.44 },\n      { label: 'Niveau 5 — Échelon 2', base35: 1918.98 },\n    ],\n    maitrise: [\n      { label: 'Niveau 6', base35: 2068.64 },\n      { label: 'Niveau 7', base35: 2286.81 },\n    ],\n    cadre: [\n      { label: 'Niveau 8 — Échelon 1', annuel: 29428, base35: 29428\u002F12 },\n      { label: 'Niveau 8 — Échelon 2', annuel: 30755, base35: 30755\u002F12 },\n      { label: 'Niveau 9 — Échelon 1', annuel: 32747, base35: 32747\u002F12 },\n      { label: 'Niveau 9 — Échelon 2', annuel: 34740, base35: 34740\u002F12 },\n      { label: 'Niveau 10', annuel: 37174, base35: 37174\u002F12 },\n      { label: 'Niveau 11', annuel: 41601, base35: 41601\u002F12 },\n      { label: 'Niveau 12', annuel: 47133, base35: 47133\u002F12 },\n    ],\n  };\n\n  const sal = { cat: 'employe', levelIdx: 0, heures: 35 };\n\n  function populateSelect() {\n    const sel = document.getElementById('sal-level');\n    sel.innerHTML = '';\n    GRID[sal.cat].forEach((item, i) => {\n      const o = document.createElement('option');\n      o.value = i; o.textContent = item.label;\n      sel.appendChild(o);\n    });\n    sal.levelIdx = 0;\n    sel.value = 0;\n  }\n\n  function renderSal() {\n    const item = GRID[sal.cat][sal.levelIdx];\n    if (!item) return;\n    const coef = sal.heures \u002F 35;\n    const mensuel = item.base35 * coef;\n    document.getElementById('sal-result').textContent = fmt2.format(mensuel);\n    let sub = item.label;\n    if (item.annuel) sub += ' — min. annuel : ' + fmt0.format(item.annuel);\n    if (sal.heures !== 35) sub += ' (proratisé ' + sal.heures + 'h\u002Fsem.)';\n    document.getElementById('sal-result-sub').textContent = sub;\n    let detail = `\u003Cdiv class=\"detail-row\">\u003Cspan>Base 35h (accord déc. 2024)\u003C\u002Fspan>\u003Cspan>${fmt2.format(item.base35)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n    if (sal.heures !== 35) detail += `\u003Cdiv class=\"detail-row\">\u003Cspan>Prorata ${sal.heures}h \u002F 35h\u003C\u002Fspan>\u003Cspan>× ${coef.toFixed(4)}\u003C\u002Fspan>\u003C\u002Fdiv>`;\n    document.getElementById('sal-detail').innerHTML = detail;\n  }\n\n  initPills('sal-cat-pills', v => { sal.cat = v; populateSelect(); renderSal(); });\n  document.getElementById('sal-level').addEventListener('change', e => { sal.levelIdx = +e.target.value; renderSal(); });\n  initPills('sal-heures-pills', v => { sal.heures = +v; renderSal(); });\n  populateSelect();\n  renderSal();\n\n  \u002F* =========================================================\n     TAB 4 — PRIME D'ANCIENNETÉ\n     3% à 3 ans, 6% à 6 ans, 9% à 9 ans, 12% à 12 ans, 15% ≥15 ans\n  ========================================================= *\u002F\n  const pa = { salaire: 2000, anciennete: 5 };\n\n  const PA_PALIERS = [\n    { min: 15, taux: 0.15, label: '15 ans et plus' },\n    { min: 12, taux: 0.12, label: '12 à 14 ans' },\n    { min: 9,  taux: 0.09, label: '9 à 11 ans' },\n    { min: 6,  taux: 0.06, label: '6 à 8 ans' },\n    { min: 3,  taux: 0.03, label: '3 à 5 ans' },\n  ];\n\n  function computePA() {\n    const palier = PA_PALIERS.find(p => pa.anciennete >= p.min);\n    if (!palier) return { montant: 0, taux: 0, label: 'Moins de 3 ans — pas de prime' };\n    return { montant: pa.salaire * palier.taux, taux: palier.taux, label: palier.label };\n  }\n\n  function renderPA() {\n    const r = computePA();\n    document.getElementById('pa-result').textContent = fmt2.format(r.montant);\n    document.getElementById('pa-result-sub').textContent =\n      r.taux > 0\n        ? `Taux : ${(r.taux*100).toFixed(0)} % (${r.label}) — CCN IDCC 468`\n        : 'La prime commence à 3 ans d\\'ancienneté.';\n    if (r.taux > 0) {\n      document.getElementById('pa-detail').innerHTML =\n        `\u003Cdiv class=\"detail-row\">\u003Cspan>Salaire de référence\u003C\u002Fspan>\u003Cspan>${fmt2.format(pa.salaire)}\u003C\u002Fspan>\u003C\u002Fdiv>` +\n        `\u003Cdiv class=\"detail-row\">\u003Cspan>Taux conventionnel (${r.label})\u003C\u002Fspan>\u003Cspan>${(r.taux*100).toFixed(0)} %\u003C\u002Fspan>\u003C\u002Fdiv>` +\n        `\u003Cdiv class=\"detail-row\">\u003Cspan>Prime mensuelle\u003C\u002Fspan>\u003Cspan>${fmt2.format(r.montant)}\u003C\u002Fspan>\u003C\u002Fdiv>` +\n        `\u003Cdiv class=\"detail-row\" style=\"border-top:1px solid var(--border);padding-top:.4rem;margin-top:.1rem\">` +\n          `\u003Cspan>\u003Cstrong>Total mensuel brut\u003C\u002Fstrong>\u003C\u002Fspan>\u003Cspan>\u003Cstrong>${fmt2.format(pa.salaire + r.montant)}\u003C\u002Fstrong>\u003C\u002Fspan>\u003C\u002Fdiv>`;\n    } else {\n      document.getElementById('pa-detail').innerHTML = '';\n    }\n  }\n\n  document.getElementById('pa-salaire').addEventListener('input', e => {\n    pa.salaire = +e.target.value;\n    document.getElementById('pa-salaire-val').textContent = fmt0.format(pa.salaire);\n    renderPA();\n  });\n  document.getElementById('pa-anciennete').addEventListener('input', e => {\n    pa.anciennete = +e.target.value;\n    document.getElementById('pa-anciennete-val').textContent = e.target.value + ' an' + (+e.target.value > 1 ? 's' : '');\n    renderPA();\n  });\n  renderPA();\n\n  \u002F* ===== Lucide icons ===== *\u002F\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-du-commerce-succursaliste-de-la-chaussur-170ee718cb.webp",[]]