PageSourceSearch

https://www.tschanz.fr/pages/calendrier-fiscal-2026.html

html tschanz.fr collected 2026-10-08 20:17:52 UTC 87,191 bytes, 1,662 lines download raw bytes

1
2<!DOCTYPE html>
3<html lang="fr">
4    <head>
5        <title>Calendrier fiscal 2026</title>
6        <meta name="theme-color" content="">
7        <meta name="msapplication-navbutton-color" content="">
8        <!-- METATAGS -->
9        <!-- rebirth / basic -->
10<!--[if IE]>
11<meta http-equiv="X-UA-Compatible" content="IE=edge">
12<![endif]-->
13<meta charset="utf-8">
14<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
15
16
17            <meta property="og:title" content="Calendrier fiscal 2026">
18        <meta property="og:url" content="https://www.tschanz.fr/pages/calendrier-fiscal-2026.html">
19    <meta property="og:type" content="website">
20            <meta property="og:site_name" content="Cabinet TSCHANZ Experts-Comptables">
21                <meta property="og:locale" content="fr_FR">
22                
23<link rel="alternate" href="https://www.tschanz.fr/de/pages/fake.html" hreflang="de">
24<link rel="alternate" href="https://www.tschanz.fr/en/pages/fake.html" hreflang="en">
25<link rel="alternate" href="https://www.tschanz.fr/pages/calendrier-fiscal-2026.html" hreflang="fr">
26
27
28<link href="//www.tschanz.fr/fr/themes/designlines/60240291dd4339d72c88595f.css?v=c1805c24752d4bfe322decf5d4bfcd00" rel="stylesheet">
29
30
31<link rel="canonical" href="https://www.tschanz.fr/pages/calendrier-fiscal-2026.html">
32
33    <meta name="google-site-verification" content="Zy27ADGvKudVkMxCDHVTnlBoJAzdhAGsGuGy0nBWKkc">
34<meta name="generator" content="e-monsite (e-monsite.com)">
35<meta name="robots" content="max-image-preview:large, max-snippet:-1, max-video-preview:-1">
36
37
38
39<link href="https://fonts.googleapis.com/css?family=Passion%20One:300,400,700%7COverpass:300,400,700&amp;display=swap" rel="stylesheet">
40
41        
42    <link rel="preconnect" href="https://fonts.googleapis.com">
43    <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous">
44    <link href="https://fonts.googleapis.com/css?family=Roboto:300,300italic,400,400italic,700,700italic%7COverpass:300,300italic,400,400italic,700,700italic&display=swap" rel="stylesheet">
45
46<link rel="preload" href="/themes/combined.css?v=28_1642769533_629" as="style">
47<link href="/themes/combined.css?v=28_1642769533_629" rel="stylesheet">
48
49
50
51<link rel="preload" href="/medias/static/themes/bootstrap_v4/js/jquery-3.6.3.min.js?v=26012023" as="script">
52<script src="/medias/static/themes/bootstrap_v4/js/jquery-3.6.3.min.js?v=26012023"></script>
52
53
54<link rel="preload" href="/medias/static/themes/bootstrap_v4/js/popper.min.js?v=31012023" as="script">
55<script src="/medias/static/themes/bootstrap_v4/js/popper.min.js?v=31012023"></script>
55
56
57<link rel="preload" href="/medias/static/themes/bootstrap_v4/js/bootstrap.min.js?v=31012023" as="script">
58<script src="/medias/static/themes/bootstrap_v4/js/bootstrap.min.js?v=31012023"></script>
58
59
60<link rel="preload" href="/themes/combined.js?v=28_1642769533_629&lang=fr" as="script">
61<script src="/themes/combined.js?v=28_1642769533_629&lang=fr"></script>
61
62
63<script type="application/ld+json">
64    {
65        "@context" : "https://schema.org/",
66        "@type" : "WebSite",
67        "name" : "Cabinet TSCHANZ Experts-Comptables",
68        "url" : "https://www.tschanz.fr/"
69    }
70</script>
70
71
72
73
74
75        <!-- //METATAGS -->
76            
76<script src="//www.tschanz.fr/medias/static/js/rgpd-cookies/jquery.rgpd-cookies.js?v=2505"></script>
76
77    
77<script>
78                                    $(document).ready(function() {
79            $.RGPDCookies({
80                theme: 'bootstrap_v4',
81                site: 'www.tschanz.fr',
82                privacy_policy_link: '/about/privacypolicy/',
83                cookies: [{"id":null,"favicon_url":"https:\/\/ssl.gstatic.com\/analytics\/20210414-01\/app\/static\/analytics_standard_icon.png","enabled":true,"model":"google_analytics","title":"Google Analytics","short_description":"Permet d'analyser les statistiques de consultation de notre site","long_description":"Indispensable pour piloter notre site internet, il permet de mesurer des indicateurs comme l\u2019affluence, les produits les plus consult\u00e9s, ou encore la r\u00e9partition g\u00e9ographique des visiteurs.","privacy_policy_url":"https:\/\/support.google.com\/analytics\/answer\/6004245?hl=fr","slug":"google-analytics"},{"id":null,"favicon_url":"","enabled":true,"model":"addthis","title":"AddThis","short_description":"Partage social","long_description":"Nous utilisons cet outil afin de vous proposer des liens de partage vers des plateformes tiers comme Twitter, Facebook, etc.","privacy_policy_url":"https:\/\/www.oracle.com\/legal\/privacy\/addthis-privacy-policy.html","slug":"addthis"}],
84                auto_open: false,
85                modal_title: 'Gestion\u0020des\u0020cookies',
86                modal_description: 'd\u00E9pose\u0020des\u0020cookies\u0020pour\u0020am\u00E9liorer\u0020votre\u0020exp\u00E9rience\u0020de\u0020navigation,\nmesurer\u0020l\u0027audience\u0020du\u0020site\u0020internet,\u0020afficher\u0020des\u0020publicit\u00E9s\u0020personnalis\u00E9es,\nr\u00E9aliser\u0020des\u0020campagnes\u0020cibl\u00E9es\u0020et\u0020personnaliser\u0020l\u0027interface\u0020du\u0020site.',
87                privacy_policy_label: 'Consulter\u0020la\u0020politique\u0020de\u0020confidentialit\u00E9',
88                check_all_label: 'Tout\u0020cocher',
89                refuse_button: 'Refuser',
90                settings_button: 'Param\u00E9trer',
91                accept_button: 'Accepter',
92                callback: function() {
93                    // website google analytics case (with gtag), consent "on the fly"
94                    if ('gtag' in window && typeof window.gtag === 'function') {
95                        if (window.jsCookie.get('rgpd-cookie-google-analytics') === undefined
96                            || window.jsCookie.get('rgpd-cookie-google-analytics') === '0') {
97                            gtag('consent', 'update', {
98                                'ad_storage': 'denied',
99                                'analytics_storage': 'denied'
100                            });
101                        } else {
102                            gtag('consent', 'update', {
103                                'ad_storage': 'granted',
104                                'analytics_storage': 'granted'
105                            });
106                        }
107                    }
108                }
109            });
110        });
111    </script>
vendor: 72 bytes, lines 111-112
111
112        <script async src="https://www.googletagmanager.com/gtag/js?id=
112G-4VN4372P6E
vendor: 12 bytes, line 112
112"></script>
113<script>
114    window.dataLayer = window.dataLayer || [];
115    function gtag(){dataLayer.push(arguments);}
116    
117    gtag('consent', 'default', {
118        'ad_storage': 'denied',
119        'analytics_storage': 'denied'
120    });
121    
122    gtag('js', new Date());
123    gtag('config', 'G-4VN4372P6E');
124</script>
124
125
126        
127    <!-- Global site tag (gtag.js) -->
vendor: 72 bytes, lines 127-128
127
128        <script async src="https://www.googletagmanager.com/gtag/js?id=
128UA-19095692-1
vendor: 20 bytes, lines 128-129
128"></script>
129        
129<script>
130        window.dataLayer = window.dataLayer || [];
131        function gtag(){dataLayer.push(arguments);}
132
133gtag('consent', 'default', {
134            'ad_storage': 'denied',
135            'analytics_storage': 'denied'
136        });
137        gtag('set', 'allow_ad_personalization_signals', false);
138                gtag('js', new Date());
139        gtag('config', 'UA-19095692-1');
140    </script>
140
141                
142            </head>
143    <body id="pages_calendrier-fiscal-2026" data-template="accueil">
144        
145
146        
147
148        <!-- BRAND TOP -->
149        
150        <!-- NAVBAR -->
151                                                                                                        <nav class="navbar navbar-expand-lg container contains-brand" id="navbar" data-animation="sliding">
152                                                                    <a aria-label="brand" class="navbar-brand d-inline-flex align-items-center d-lg-none" href="https://www.tschanz.fr/">
153                                                    <img src="https://www.tschanz.fr/medias/site/logos/logo-sans-adresse.jpg?v=1" alt="Cabinet TSCHANZ Experts-Comptables" class="img-fluid brand-logo mr-2 d-inline-block">
154                                                                        <span class="brand-titles d-lg-flex flex-column align-items-start">
155                            <span class="brand-title d-none">Cabinet TSCHANZ Experts-Comptables</span>
156                                                        <span class="brand-subtitle d-none">Annemasse Divonne</span>
157                                                    </span>
158                                            </a>
159                                                    <button id="buttonBurgerMenu" title="BurgerMenu" class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#menu">
160                    <span></span>
161                    <span></span>
162                    <span></span>
163                    <span></span>
164                </button>
165                <div class="collapse navbar-collapse flex-lg-grow-0 mx-lg-auto invisible" id="menu">
166                                                                                                                                                    <ul class="navbar-nav navbar-menu nav-left nav-all-left">
167                                                                                                                                                                                            <li class="nav-item" data-index="1">
168                            <a class="nav-link" href="https://www.tschanz.fr/">
169                                                                Accueil
170                            </a>
171                                                                                </li>
172                                                                                                                                                                                            <li class="nav-item" data-index="2">
173                            <a class="nav-link" href="https://www.tschanz.fr/blog/">
174                                                                Blog
175                            </a>
176                                                                                </li>
177                                                                                                                                                                                            <li class="nav-item" data-index="3">
178                            <a class="nav-link" href="https://www.tschanz.fr/contact/">
179                                                                Contact
180                            </a>
181                                                                                </li>
182                                    </ul>
183            
184                                        <a class="navbar-brand d-none d-lg-flex" href="https://www.tschanz.fr/">
185                                            <img src="https://www.tschanz.fr/medias/site/logos/logo-sans-adresse.jpg?v=1" alt="Cabinet TSCHANZ Experts-Comptables" class="img-fluid brand-logo d-inline-block">
186                                                                <span class="brand-titles d-lg-flex flex-column">
187                    <span class="brand-title d-none">Cabinet TSCHANZ Experts-Comptables</span>
188                                            <span class="brand-subtitle d-none">annemasse divonne</span>
189                                    </span>
190                                    </a>
191                                                <ul class="navbar-nav navbar-menu nav-right nav-all-left">
192                                                                                                                                                                                            <li class="nav-item active" data-index="1">
193                            <a class="nav-link" href="https://www.tschanz.fr/pages/calendrier-fiscal-2026.html">
194                                                                Calendrier fiscal 2026
195                            </a>
196                                                                                </li>
197                                                                                                                                                                                            <li class="nav-item" data-index="2">
198                            <a class="nav-link" href="https://www.tschanz.fr/pages/simulateur-is-2026.html">
199                                                                Simulateur IS 2026
200                            </a>
201                                                                                </li>
202                                                                                                                                                                                            <li class="nav-item" data-index="3">
203                            <a class="nav-link" href="https://www.tschanz.fr/pages/simulateur-tns-2026.html">
204                                                                Simulateur TNS 2026
205                            </a>
206                                                                                </li>
207                                    </ul>
208            
209                                    
210                    
211                                        
212                    
213
214                                    </div>
215                    </nav>
216
217        <!-- HEADER -->
218                                                                            <header id="header" class="container">
219                                </header>
220                <!-- //HEADER -->
221
222        <!-- WRAPPER -->
223                                                            <div id="wrapper" class="container">
224
225                        <div class="row">
226                            <main id="main" class="col-lg-9">
227
228                                                                        <div class="d-flex align-items-center">
229                                <div class="flex-grow-1">
230                                        <ol class="breadcrumb">
231                                    <li class="breadcrumb-item"><a href="https://www.tschanz.fr">Accueil</a></li>
232                                                <li class="breadcrumb-item active">Calendrier fiscal 2026</li>
233                        </ol>
234
235    
235<script type="application/ld+json">
236        {
237            "@context": "https://schema.org",
238            "@type": "BreadcrumbList",
239            "itemListElement": [
240                                {
241                    "@type": "ListItem",
242                    "position": 1,
243                    "name": "Accueil",
244                    "item": "https://www.tschanz.fr"
245                  },                                {
246                    "@type": "ListItem",
247                    "position": 2,
248                    "name": "Calendrier fiscal 2026",
249                    "item": "https://www.tschanz.fr/pages/calendrier-fiscal-2026.html"
250                  }                          ]
251        }
252    </script>
252
253
254                                </div>
255                                
256                            </div>
257                                            
258                                        
259
260                                        
261                                                            <div class="view view-pages" data-sfroute="true" id="view-page" data-mcp-item-id="69af4404e746785a8c5fa573">
262            <div class="container">
263            <div class="row">
264                <div class="col">
265                    <h1 class="view-title">Calendrier fiscal 2026</h1>
266                </div>
267            </div>
268        </div>
269    
270        <div id="site-module-4e7afda8cf476fde4dbc636d" class="site-module" data-mcp-site-module-id="4e7afda8cf476fde4dbc636d" data-mcp-site-id="4e7afda85c626fde4dbc05d1" data-mcp-category-id="item"></div>
271
272
273                    <div id="rows-69af4404e7756c0a2331a7f9" class="rows" data-total-pages="1" data-current-page="1">                                                                                                                
274                             <div id="row-69af4404e7756c0a2331a7f9-1" data-mcp-line-id="69af4404e77fbc9a58cbe5d7"  class="row-container pos-1 page_1 container">
275                    <div class="row-content">
276                                                                                <div class="row" data-role="line">
277                                                                                                                                                                                                    
278                                                                                                                                                                                                                            
279                                                                                                                                                                                                                                                                        
280                                                                                                                                                                            
281                                                                                        <div data-role="cell" data-mcp-cell-id="69af4404e79ee69210e6e765" data-size="lg" id="cell-69af4404e79ee69210e6e765" class="col">
282                                               <div class="col-content col-no-widget col-codehtml">
283                                                    <!DOCTYPE html>
284<html lang="fr">
285<head>
286<meta charset="UTF-8">
287<meta name="viewport" content="width=device-width, initial-scale=1.0">
288<title>Calendrier Fiscal 2026 — Cabinet TSCHANZ</title>
289<style>
290  * { box-sizing: border-box; margin: 0; padding: 0; }
291  body { font-family: arial, sans-serif; background: #f7f4ef; color: #0e1e35; }
292
293  .cal-header {
294    background: #0e1e35;
295    padding: 40px 30px 30px;
296    text-align: center;
297  }
298  .cal-header p.label {
299    font-size: 0.65em; letter-spacing: 4px; text-transform: uppercase;
300    color: rgba(197,165,90,0.7); margin-bottom: 10px;
301  }
302  .cal-header h1 {
303    font-family: Georgia, serif; font-size: 2em; font-weight: 400;
304    color: #fff; margin-bottom: 6px;
305  }
306  .cal-header h1 span { color: #c5a55a; font-style: italic; }
307  .cal-header p.sub {
308    font-size: 0.82em; color: rgba(255,255,255,0.5); margin-bottom: 25px;
309  }
310
311  /* FILTRES */
312  .filters {
313    display: flex; flex-wrap: wrap; justify-content: center; gap: 8px;
314    padding: 0 20px 30px;
315  }
316  .filter-btn {
317    background: transparent; border: 1px solid rgba(197,165,90,0.4);
318    color: rgba(255,255,255,0.6); font-family: arial, sans-serif;
319    font-size: 0.7em; letter-spacing: 2px; text-transform: uppercase;
320    padding: 8px 16px; border-radius: 2px; cursor: pointer;
321    transition: all 0.2s;
322  }
323  .filter-btn:hover, .filter-btn.active {
324    background: #c5a55a; border-color: #c5a55a;
325    color: #0e1e35; font-weight: bold;
326  }
327
328  /* MOIS NAV */
329  .months-nav {
330    display: flex; flex-wrap: wrap; justify-content: center;
331    gap: 6px; padding: 20px 20px 0; max-width: 900px; margin: 0 auto;
332  }
333  .month-btn {
334    background: #fff; border: 1px solid rgba(14,30,53,0.1);
335    color: #0e1e35; font-family: arial, sans-serif; font-size: 0.72em;
336    letter-spacing: 1px; padding: 6px 14px; border-radius: 2px;
337    cursor: pointer; transition: all 0.2s;
338  }
339  .month-btn:hover { border-color: #c5a55a; color: #c5a55a; }
340  .month-btn.has-events { border-left: 3px solid #c5a55a; }
341  .month-btn.active { background: #0e1e35; color: #c5a55a; border-color: #0e1e35; }
342
343  /* CONTENU */
344  .cal-body { max-width: 900px; margin: 0 auto; padding: 20px; }
345
346  .month-section { margin-bottom: 30px; display: none; }
347  .month-section.visible { display: block; }
348
349  .month-title {
350    font-family: Georgia, serif; font-size: 1.3em; font-weight: 400;
351    color: #0e1e35; border-bottom: 2px solid #c5a55a;
352    padding-bottom: 8px; margin-bottom: 15px;
353  }
354
355  .event {
356    background: #fff; border-left: 3px solid #c5a55a;
357    border-radius: 0 3px 3px 0; padding: 14px 18px;
358    margin-bottom: 8px; display: flex; gap: 15px; align-items: flex-start;
359    box-shadow: 0 1px 8px rgba(14,30,53,0.06);
360    transition: all 0.2s;
361  }
362  .event:hover { box-shadow: 0 4px 15px rgba(14,30,53,0.12); transform: translateX(3px); }
363  .event.urgent { border-left-color: #c0392b; }
364  .event.social { border-left-color: #0e1e35; }
365  .event.hidden { display: none; }
366
367  .event-date {
368    font-family: Georgia, serif; font-size: 1.2em; color: #c5a55a;
369    font-weight: 400; flex-shrink: 0; width: 35px; text-align: center;
370    line-height: 1.2;
371  }
372  .event-date small { display: block; font-family: arial; font-size: 0.5em; color: #999; letter-spacing: 1px; text-transform: uppercase; }
373  .event-content { flex: 1; }
374  .event-title { font-family: Georgia, serif; font-size: 0.95em; color: #0e1e35; margin-bottom: 4px; }
375  .event-desc { font-size: 0.78em; color: #777; line-height: 1.5; }
376  .event-tags { display: flex; gap: 5px; margin-top: 6px; flex-wrap: wrap; }
377  .tag {
378    font-size: 0.62em; letter-spacing: 1px; text-transform: uppercase;
379    padding: 2px 7px; border-radius: 2px; font-weight: bold;
380  }
381  .tag.is { background: rgba(197,165,90,0.15); color: #c5a55a; }
382  .tag.bic { background: rgba(14,30,53,0.08); color: #0e1e35; }
383  .tag.bnc { background: rgba(14,30,53,0.08); color: #0e1e35; }
384  .tag.tva { background: rgba(197,165,90,0.25); color: #8a6f2e; }
385  .tag.social { background: rgba(14,30,53,0.12); color: #0e1e35; }
386  .tag.micro { background: #f0ece4; color: #666; }
387  .tag.tous { background: #0e1e35; color: #c5a55a; }
388
389  .no-events {
390    text-align: center; padding: 30px; color: #999;
391    font-family: Georgia, serif; font-style: italic;
392  }
393
394  /* FOOTER */
395  .cal-footer {
396    background: #0e1e35; padding: 25px; text-align: center; margin-top: 20px;
397  }
398  .cal-footer p { font-family: Georgia, serif; color: #c5a55a; font-style: italic; margin-bottom: 10px; }
399  .cal-footer a {
400    background: #c5a55a; color: #ffffff; font-family: arial, sans-serif;
401    font-size: 0.75em; letter-spacing: 2px; text-transform: uppercase;
402    font-weight: bold; padding: 10px 22px; text-decoration: none; border-radius: 2px;
403    display: inline-block;
404  }
405
406  .count-badge {
407    display: inline-block; background: #c5a55a; color: #0e1e35;
408    font-size: 0.65em; font-weight: bold; padding: 1px 6px;
409    border-radius: 10px; margin-left: 6px; vertical-align: middle;
410  }
411</style>
412</head>
413<body>
414
415<div class="cal-header">
416  <p class="label">Cabinet TSCHANZ — Experts-comptables</p>
417  <h1>Calendrier fiscal <span>2026</span></h1>
418  <p class="sub">Toutes vos échéances fiscales et sociales — Filtrez par type d'entreprise</p>
419  <div class="filters">
420    <button class="filter-btn active" onclick="setFilter('tous')">Tous</button>
421    <button class="filter-btn" onclick="setFilter('is')">Sociétés (IS)</button>
422    <button class="filter-btn" onclick="setFilter('bic')">BIC — Réel</button>
423    <button class="filter-btn" onclick="setFilter('bnc')">BNC — Libéral</button>
424    <button class="filter-btn" onclick="setFilter('tva')">TVA</button>
425    <button class="filter-btn" onclick="setFilter('social')">Social</button>
426    <button class="filter-btn" onclick="setFilter('micro')">Micro-entrepreneur</button>
427  </div>
428</div>
429
430<div style="background:#f7f4ef; padding-top: 20px;">
431  <div id="next-bar" style="background:#fffbf0;border-top:3px solid #c5a55a;padding:10px 20px;text-align:center;font-family:arial,sans-serif;font-size:0.82em;color:#0e1e35;"><span style="color:#c5a55a;font-weight:bold;">⏰ Prochaine échéance :</span> <span id="next-title" style="font-weight:bold;margin-left:6px;"></span>
431 <span id="next-days" style="background:#0e1e35;color:#c5a55a;padding:2px 10px;border-radius:20px;font-size:0.85em;margin-left:8px;"></span></div>
432<div class="months-nav" id="monthsNav"></div>
433  <div class="cal-body" id="calBody"></div>
434
435  <div class="cal-footer">
436    <p>Une question sur une échéance ? Votre expert-comptable vous répond.</p>
437    <a href="https://www.tschanz.fr/contact/contact.html" style="color:#ffffff!important;">Nous contacter</a>
438  <a href="javascript:window.print()" style="display:inline-block;margin-top:10px;background:transparent;border:1px solid rgba(197,165,90,0.5);color:#c5a55a;font-family:arial,sans-serif;font-size:0.7em;letter-spacing:2px;text-transform:uppercase;font-weight:bold;padding:8px 18px;text-decoration:none;border-radius:2px;">Imprimer</a>
439  </div>
440</div>
441
442<script>
443const events = [
444  // JANVIER
445  { month: 1, day: 15, title: "TVA — Déclaration CA3 (décembre 2025)", desc: "Dépôt de la déclaration de TVA mensuelle pour décembre 2025 et paiement.", tags: ["tva"] },
446  { month: 1, day: 15, title: "DSN — Déclaration Sociale Nominative", desc: "DSN mensuelle paie de décembre 2025.", tags: ["social"] },
447  { month: 1, day: 31, title: "Déclaration annuelle des salaires (DADS)", desc: "Transmission de la DADS-U ou DSN annuelle pour l'exercice 2025.", tags: ["social"] },
448
449  // FÉVRIER
450  { month: 2, day: 15, title: "TVA — CA3 janvier 2026", desc: "Déclaration et paiement de la TVA collectée en janvier.", tags: ["tva"] },
451  { month: 2, day: 15, title: "DSN — Paie de janvier 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
452
453  // MARS
454  { month: 3, day: 16, title: "Acompte IS — 1er acompte 2026", desc: "Versement du 1er acompte d'IS (le 15 tombe un dimanche). Paiement obligatoire en ligne sur impots.gouv.fr via le formulaire 2571.", tags: ["is"] },
455  { month: 3, day: 15, title: "TVA — CA3 février 2026", desc: "Déclaration et paiement de la TVA collectée en février.", tags: ["tva"] },
456  { month: 3, day: 15, title: "DSN — Paie de février 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
457  { month: 5, day: 15, title: "Liasse fiscale IS — Clôture 31/12/2025", desc: "Dépôt de la déclaration de résultats (2065) pour les sociétés clôturant au 31 décembre.", tags: ["is"], urgent: true },
458  { month: 5, day: 15, title: "Télépaiement IS — Solde exercice 2025", desc: "Paiement du solde d'IS pour les exercices clos au 31/12/2025.", tags: ["is"], urgent: true },
459
460  // AVRIL
461  { month: 4, day: 15, title: "TVA — CA3 mars 2026", desc: "Déclaration et paiement de la TVA collectée en mars.", tags: ["tva"] },
462  { month: 4, day: 15, title: "DSN — Paie de mars 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
463  { month: 4, day: 30, title: "TVA — CA12 (régime simplifié)", desc: "Déclaration annuelle de TVA CA12 pour les exercices clos au 31/12/2025.", tags: ["tva"] },
464  { month: 4, day: 30, title: "Liasse fiscale BIC/BNC", desc: "Dépôt des déclarations 2031 (BIC) et 2035 (BNC) pour les exercices clos au 31/12/2025.", tags: ["bic", "bnc"], urgent: true },
465
466  // MAI
467  { month: 5, day: 15, title: "TVA — CA3 avril 2026", desc: "Déclaration et paiement de la TVA collectée en avril.", tags: ["tva"] },
468  { month: 5, day: 15, title: "DSN — Paie d'avril 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
469
470  { month: 5, day: 31, title: "Déclaration revenus 2025 (IR)", desc: "Date limite de déclaration en ligne des revenus 2025 (zone 1 — délai indicatif).", tags: ["bic", "bnc"] },
471  { month: 5, day: 31, title: "Déclaration micro-entrepreneur — T1 2026", desc: "Déclaration du chiffre d'affaires du 1er trimestre 2026.", tags: ["micro"] },
472
473  // JUIN
474  { month: 6, day: 15, title: "TVA — CA3 mai 2026", desc: "Déclaration et paiement de la TVA collectée en mai.", tags: ["tva"] },
475  { month: 6, day: 15, title: "DSN — Paie de mai 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
476  { month: 6, day: 15, title: "Cotisations TNS — Régularisation N-1", desc: "Appel de cotisations Urssaf pour les travailleurs non-salariés (régularisation 2025).", tags: ["social"] },
477
478  // JUILLET
479  { month: 7, day: 15, title: "TVA — CA3 juin 2026", desc: "Déclaration et paiement de la TVA collectée en juin.", tags: ["tva"] },
480  { month: 7, day: 15, title: "DSN — Paie de juin 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
481  { month: 7, day: 31, title: "Déclaration micro-entrepreneur — T2 2026", desc: "Déclaration du chiffre d'affaires du 2e trimestre 2026.", tags: ["micro"] },
482  { month: 6, day: 15, title: "Acompte IS — 2e acompte 2026", desc: "Versement du 2e acompte d'IS. Régularisation possible si le 1er acompte était basé sur l'avant-dernier exercice.", tags: ["is"] },
483
484  // AOÛT
485  { month: 8, day: 17, title: "TVA — CA3 juillet 2026", desc: "Déclaration et paiement de la TVA collectée en juillet.", tags: ["tva"] },
486  { month: 8, day: 17, title: "DSN — Paie de juillet 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
487
488  // SEPTEMBRE
489  { month: 9, day: 1, title: "Facturation électronique — Réception obligatoire", desc: "Toutes les entreprises doivent être en mesure de recevoir des factures électroniques.", tags: ["is", "bic", "bnc", "micro"], urgent: true },
490  { month: 9, day: 15, title: "TVA — CA3 août 2026", desc: "Déclaration et paiement de la TVA collectée en août.", tags: ["tva"] },
491  { month: 9, day: 15, title: "DSN — Paie d'août 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
492  { month: 9, day: 15, title: "Acompte IS — 3e acompte 2026", desc: "Versement du 3e acompte d'IS.", tags: ["is"] },
493  { month: 9, day: 30, title: "Déclaration micro-entrepreneur — T3 2026", desc: "Déclaration du chiffre d'affaires du 3e trimestre 2026.", tags: ["micro"] },
494
495  // OCTOBRE
496  { month: 10, day: 15, title: "TVA — CA3 septembre 2026", desc: "Déclaration et paiement de la TVA collectée en septembre.", tags: ["tva"] },
497  { month: 10, day: 15, title: "DSN — Paie de septembre 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
498  { month: 12, day: 15, title: "Acompte IS — 4e et dernier acompte 2026", desc: "Versement du dernier acompte d'IS avant le solde.", tags: ["is"] },
499
500  // NOVEMBRE
501  { month: 11, day: 16, title: "TVA — CA3 octobre 2026", desc: "Déclaration et paiement de la TVA collectée en octobre.", tags: ["tva"] },
502  { month: 11, day: 16, title: "DSN — Paie d'octobre 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
503
504  // DÉCEMBRE
505  { month: 12, day: 15, title: "TVA — CA3 novembre 2026", desc: "Déclaration et paiement de la TVA collectée en novembre.", tags: ["tva"] },
506  { month: 12, day: 15, title: "DSN — Paie de novembre 2026", desc: "Transmission de la DSN mensuelle.", tags: ["social"] },
507  { month: 12, day: 31, title: "Déclaration micro-entrepreneur — T4 2026", desc: "Déclaration du chiffre d'affaires du 4e trimestre 2026.", tags: ["micro"] },
508];
509
510const months = [
511  "Janvier","Février","Mars","Avril","Mai","Juin",
512  "Juillet","Août","Septembre","Octobre","Novembre","Décembre"
513];
514
515let currentFilter = "tous";
516let currentMonth = new Date().getMonth() + 1;
517
518function setFilter(f) {
519  currentFilter = f;
520  document.querySelectorAll('.filter-btn').forEach(b => b.classList.remove('active'));
521  event.target.classList.add('active');
522  renderAll();
523}
524
525function setMonth(m) {
526  currentMonth = m;
527  document.querySelectorAll('.month-btn').forEach(b => b.classList.remove('active'));
528  document.getElementById('mbtn-' + m).classList.add('active');
529  document.querySelectorAll('.month-section').forEach(s => s.classList.remove('visible'));
530  const sec = document.getElementById('month-' + m);
531  if (sec) sec.classList.add('visible');
532  renderAll();
533}
534
535function renderAll() {
536  // Update month buttons count
537  months.forEach((name, i) => {
538    const m = i + 1;
539    const count = events.filter(e => e.month === m && (currentFilter === 'tous' || e.tags.includes(currentFilter))).length;
540    const btn = document.getElementById('mbtn-' + m);
541    if (btn) {
542      const badge = btn.querySelector('.count-badge');
543      if (count > 0) {
544        btn.classList.add('has-events');
545        if (badge) badge.textContent = count;
546        else btn.innerHTML += `<span class="count-badge">${count}</span>`;
547      } else {
548        btn.classList.remove('has-events');
549        if (badge) badge.remove();
550      }
551    }
552  });
553
554  // Show/hide events
555  document.querySelectorAll('.event').forEach(el => {
556    const tags = el.dataset.tags.split(',');
557    if (currentFilter === 'tous' || tags.includes(currentFilter)) {
558      el.classList.remove('hidden');
559    } else {
560      el.classList.add('hidden');
561    }
562  });
563
564  // Check no-events message per month
565  months.forEach((name, i) => {
566    const m = i + 1;
567    const sec = document.getElementById('month-' + m);
568    if (!sec) return;
569    const visible = sec.querySelectorAll('.event:not(.hidden)').length;
570    let noEvt = sec.querySelector('.no-events');
571    if (visible === 0) {
572      if (!noEvt) {
573        noEvt = document.createElement('div');
574        noEvt.className = 'no-events';
575        noEvt.textContent = 'Aucune échéance pour ce filtre ce mois-ci.';
576        sec.appendChild(noEvt);
577      }
578    } else {
579      if (noEvt) noEvt.remove();
580    }
581  });
582}
583
584// Build DOM
585const nav = document.getElementById('monthsNav');
586const body = document.getElementById('calBody');
587
588months.forEach((name, i) => {
589  const m = i + 1;
590
591  // Nav button
592  const btn = document.createElement('button');
593  btn.className = 'month-btn' + (m === currentMonth ? ' active' : '');
594  btn.id = 'mbtn-' + m;
595  btn.textContent = name;
596  btn.onclick = () => setMonth(m);
597  nav.appendChild(btn);
598
599  // Month section
600  const sec = document.createElement('div');
601  sec.className = 'month-section' + (m === currentMonth ? ' visible' : '');
602  sec.id = 'month-' + m;
603
604  const title = document.createElement('h2');
605  title.className = 'month-title';
606  title.textContent = name + ' 2026';
607  sec.appendChild(title);
608
609  const monthEvents = events.filter(e => e.month === m).sort((a,b) => a.day - b.day);
610  monthEvents.forEach(evt => {
611    const div = document.createElement('div');
612    div.className = 'event' + (evt.urgent ? ' urgent' : '') + (evt.tags.includes('social') && !evt.urgent ? ' social' : '');
613    div.dataset.tags = evt.tags.join(',');
614
615    div.innerHTML = `
616      <div class="event-date">${evt.day}<small>${name.substring(0,3)}</small></div>
617      <div class="event-content">
618        <div class="event-title">${evt.title}</div>
619        <div class="event-desc">${evt.desc}</div>
620        <div class="event-tags">${evt.tags.map(t => `<span class="tag ${t}">${t.toUpperCase()}</span>`).join('')}</div>
621      </div>
622    `;
623    sec.appendChild(div);
624  });
625
626  body.appendChild(sec);
627});
628
629renderAll();
630(function(){var t=new Date();t.setHours(0,0,0,0);var f=events.map(function(e){return{title:e.title,date:new Date(2026,e.month-1,e.day)};}).filter(function(e){return e.date>=t;}).sort(function(a,b){return a.date-b.date;});if(f.length){var n=f[0];var d=Math.ceil((n.date-t)/86400000);var el1=document.getElementById("next-title");var el2=document.getElementById("next-days");if(el1){el1.textContent=n.title;el2.textContent=d===0?"Aujourd\u2019hui":d===1?"Demain":"dans "+d+" j.";}};})();
631</script>
631
632
633</body>
634</html></div>
635                                            </div>
636                                                                                                                                                        </div>
637                                            </div>
638                                    </div>
639                            </div>
640                    
641    
642    
643                    <div class="container plugin-list">
644        <div class="row">
645            <div class="col">
646                <div class="plugins">
647                    <div id="social-4e7afda863d26fde4dbc84ac" class="plugin" data-plugin="social">
648    <div class="a2a_kit a2a_kit_size_32 a2a_default_style">
649        <a class="a2a_dd" href="https://www.addtoany.com/share"></a>
650        <a class="a2a_button_facebook"></a>
651        <a class="a2a_button_x"></a>
652        <a class="a2a_button_email"></a>
653    </div>
654    
654<script>
655        var a2a_config = a2a_config || {};
656        a2a_config.onclick = 1;
657        a2a_config.locale = "fr";
658    </script>
658
659    
659<script async src="https://static.addtoany.com/menu/page.js"></script>
659
660</div>
661
662                    
663                    
664                    
665                </div>
666            </div>
667        </div>
668    </div>
669    </div>
670
671<script>
672    emsChromeExtension.init('page', '69af4404e746785a8c5fa573', 'e-monsite.com');
673</script>
673
674
675                </main>
676
677                                <aside id="sidebar" class="col-lg-3">
678                    <div id="sidebar-inner" class="sticky-top">
679                                                                                                                                                                                                                                    <div id="widget-1"
680                                     class="widget"
681                                     data-id="widget_page_items"
682                                     data-widget-num="1">
683                                            <div class="widget-title">
684            <span>
685                    Menu
686                </span>
687                </div>
688                                                                                                                        <div class="widget-content">
689                                            
690
691<div id="site-module-page_items0" class="site-module" data-mcp-site-module-id="page_items0" data-mcp-site-id="4e7afda85c626fde4dbc05d1" data-mcp-category-id="item"></div>
692
693
694
695    <div id="page_items0">
696        <ul class="media-list" data-addon="directory">
697                
698        </ul>
699
700                                    <div class="card-deck page-items list-style list-1-col" data-addon="pages">
701        <div class="card page-item">
702        <div class="row no-gutters">
703            
704            <div class="col item-txt-col">
705                <div class="card-body p-4">
706                                        <p class="media-heading">
707                        <a href="https://www.tschanz.fr/pages/nos-missions.html">Nos missions</a>
708                    </p>
709
710                                    </div>
711            </div>
712        </div>
713    </div>
714        <div class="card page-item">
715        <div class="row no-gutters">
716            
717            <div class="col item-txt-col">
718                <div class="card-body p-4">
719                                        <p class="media-heading">
720                        <a href="https://www.tschanz.fr/pages/comment-nous-trouver.html">Comment nous trouver ?</a>
721                    </p>
722
723                                    </div>
724            </div>
725        </div>
726    </div>
727        <div class="card page-item">
728        <div class="row no-gutters">
729            
730            <div class="col item-txt-col">
731                <div class="card-body p-4">
732                                        <p class="media-heading">
733                        <a href="https://www.tschanz.fr/pages/les-10-etapes-de-la-creation-d-une-entreprise.html">Les 10 étapes de la création d'une entreprise</a>
734                    </p>
735
736                                    </div>
737            </div>
738        </div>
739    </div>
740        <div class="card page-item">
741        <div class="row no-gutters">
742            
743            <div class="col item-txt-col">
744                <div class="card-body p-4">
745                                        <p class="media-heading">
746                        <a href="https://www.tschanz.fr/pages/vous-envisagez-de-recruter-ci-dessous-simulateur-d-embauche.html">Simulateur coût embauche (via site urssaf)</a>
747                    </p>
748
749                                    </div>
750            </div>
751        </div>
752    </div>
753        <div class="card page-item">
754        <div class="row no-gutters">
755            
756            <div class="col item-txt-col">
757                <div class="card-body p-4">
758                                        <p class="media-heading">
759                        <a href="https://www.tschanz.fr/pages/calendrier-fiscal-2026.html">Calendrier fiscal 2026</a>
760                    </p>
761
762                                    </div>
763            </div>
764        </div>
765    </div>
766    </div>
767                        </div>
768
769
770
771                                        </div>
772                                                                                                            </div>
773                                                                                                                                                                                                                                                                                                        <div id="widget-2"
774                                     class="widget"
775                                     data-id="widget_contactform_all"
776                                     data-widget-num="2">
777                                            <div class="widget-title">
778            <span>
779                    Formulaire de contact
780                </span>
781                </div>
782                                                                                                                            <div class="widget-content">
783                                                    <!-- WIDGET : 1 -->
784<ul class="media-list contact-items" data-addon="contact">
785        <li class="media contect-item">
786                <div class="media-body">
787            <p class="media-heading">
788                <a href="https://www.tschanz.fr/contact/contact.html">Contact et prise de rendez-vous</a>
789            </p>
790                    </div>
791    </li>
792    </ul>
793                                            </div>
794                                                                                                            </div>
795                                                                                                                                                                                                                                                                                                                                                            <div id="widget-3"
796                                     class="widget"
797                                     data-id="widget_blogpost_last"
798                                     data-widget-num="3">
799                                            <div class="widget-title">
800            <span>
801                    Derniers billets
802                </span>
803                </div>
804                                                                                                                        <div class="widget-content">
805                                            <!-- WIDGET : 1 -->
806
807<div class="media-list blog-items" data-addon="blog">
808
809                        <div class="media blog-item" data-date="
80904/11/2026" data-blog-id="69d9f6bfccd65a727f5df0d6">
810                                                                                                        <div class="media-body">
811                    <p class="media-heading">
812                        <a href="https://www.tschanz.fr/blog/declaration-des-revenus-2025-les-dates-limites-a-ne-pas-manquer.html">Déclaration des revenus 2025 : les dates limites à ne pas manquer</a>
813                                                                    </p>
814
815                    <p class="metas">
816                                                                            <span class="meta-date">Le samedi, 11 avril 2026</span>
817                                            </p>
818                                    </div>
819                            </div>
820                                <div class="media blog-item" data-date="04/02/2026" data-blog-id="69ced8e85a6753cc4982d9cd">
821                                                                                                        <div class="media-body">
822                    <p class="media-heading">
823                        <a href="https://www.tschanz.fr/blog/plan-comptable-renove-2026-premiere-annee-de-cloture-sous-le-nouveau-referentiel.html">Plan comptable rénové : 2026, première année de clôture sous le nouveau référentiel</a>
824                                                                    </p>
825
826                    <p class="metas">
827                                                                            <span class="meta-date">Le jeudi, 02 avril 2026</span>
828                                            </p>
829                                    </div>
830                            </div>
831                                <div class="media blog-item" data-date="
83104/02/2026" data-blog-id="69ced537998753cc4982f812">
832                                                                                                        <div class="media-body">
833                    <p class="media-heading">
834                        <a href="https://www.tschanz.fr/blog/pacte-dutreil-les-conditions-de-transmission-d-entreprise-se-durcissent.html">Pacte Dutreil : les conditions de transmission d&#039;entreprise se durcissent</a>
835                                                                    </p>
836
837                    <p class="metas">
838                                                                            <span class="meta-date">Le jeudi, 02 avril 2026</span>
839                                            </p>
840                                    </div>
841                            </div>
842                                <div class="media blog-item" data-date="04/02/2026" data-blog-id="69ce31ecd8d2507d2c3470b0">
843                                                                                                        <div class="media-body">
844                    <p class="media-heading">
845                        <a href="https://www.tschanz.fr/blog/logiciels-de-caisse-l-attestation-individuelle-redevient-un-justificatif-valable.html">Logiciels de caisse : l&#039;attestation individuelle redevient un justificatif valable</a>
846                                                                    </p>
847
848                    <p class="metas">
849                                                                            <span class="meta-date">Le jeudi, 02 avril 2026</span>
850                                            </p>
851                                    </div>
852                            </div>
853                                <div class="media blog-item" data-date="
85304/02/2026" data-blog-id="69ce31bc4568507d2c34d8ee">
854                                                                                                        <div class="media-body">
855                    <p class="media-heading">
856                        <a href="https://www.tschanz.fr/blog/compte-courant-d-associe-les-taux-d-interets-deductibles-pour-le-2e-trimestre-2026.html">Compte courant d&#039;associé : les taux d&#039;intérêts déductibles pour le 2e trimestre 2026</a>
857                                                                    </p>
858
859                    <p class="metas">
860                                                                            <span class="meta-date">Le jeudi, 02 avril 2026</span>
861                                            </p>
862                                    </div>
863                            </div>
864                                <div class="media blog-item" data-date="03/25/2026" data-blog-id="69c467ee8a6f53cc4ae588ee">
865                                                                                                        <div class="media-body">
866                    <p class="media-heading">
867                        <a href="https://www.tschanz.fr/blog/acompte-d-is-2026-ne-manquez-pas-les-echeances-de-paiement.html">Acompte d&#039;IS 2026 : ne manquez pas les échéances de paiement</a>
868                                                                    </p>
869
870                    <p class="metas">
871                                                                            <span class="meta-date">Le mercredi, 25 mars 2026</span>
872                                            </p>
873                                    </div>
874                            </div>
875                                <div class="media blog-item" data-date="
87503/25/2026" data-blog-id="69c467c3e98453cc4ae5d784">
876                                                                                                        <div class="media-body">
877                    <p class="media-heading">
878                        <a href="https://www.tschanz.fr/blog/pfu-2026-le-taux-passe-a-31-4-ce-que-ca-change-pour-vos-dividendes.html">PFU 2026 : le taux passe à 31,4 %, ce que ça change pour vos dividendes</a>
879                                                                    </p>
880
881                    <p class="metas">
882                                                                            <span class="meta-date">Le mercredi, 25 mars 2026</span>
883                                            </p>
884                                    </div>
885                            </div>
886                                <div class="media blog-item" data-date="03/25/2026" data-blog-id="69c467a1676f53cc4ae5239f">
887                                                                                                        <div class="media-body">
888                    <p class="media-heading">
889                        <a href="https://www.tschanz.fr/blog/reforme-urssaf-2026-ce-qui-change-pour-les-travailleurs-independants-tns.html">Réforme URSSAF 2026 : ce qui change pour les travailleurs indépendants (TNS)</a>
890                                                                    </p>
891
892                    <p class="metas">
893                                                                            <span class="meta-date">Le mercredi, 25 mars 2026</span>
894                                            </p>
895                                    </div>
896                            </div>
897                                <div class="media blog-item" data-date="
89703/10/2026" data-blog-id="69b0271ef739507d2c34ad86">
898                                                                                                        <div class="media-body">
899                    <p class="media-heading">
900                        <a href="https://www.tschanz.fr/blog/facturation-electronique-attention-aux-nouvelles-sanctions-alourdies-en-cas-de-retard.html">Facturation électronique : attention aux nouvelles sanctions alourdies en cas de retard</a>
901                                                                    </p>
902
903                    <p class="metas">
904                                                                            <span class="meta-date">Le mardi, 10 mars 2026</span>
905                                            </p>
906                                    </div>
907                            </div>
908                                <div class="media blog-item" data-date="03/10/2026" data-blog-id="69b01fe00cb0507d2c34db05">
909                                                                                                        <div class="media-body">
910                    <p class="media-heading">
911                        <a href="https://www.tschanz.fr/blog/acompte-d-is-echeance-le-16-mars-2026.html">Acompte d&#039;IS : ne manquez pas l&#039;échéance du 16 mars 2026</a>
912                                                                    </p>
913
914                    <p class="metas">
915                                                                            <span class="meta-date">Le mardi, 10 mars 2026</span>
916                                            </p>
917                                    </div>
918                            </div>
919                                <div class="media blog-item" data-date="
91902/25/2026" data-blog-id="699f08e40acd507d2c34881f">
920                                                                                                        <div class="media-body">
921                    <p class="media-heading">
922                        <a href="https://www.tschanz.fr/blog/nouveaux-seuils-micro-pour-2026-2027-et-2028.html">Nouveaux seuils micro pour 2026, 2027 et 2028</a>
923                                                                    </p>
924
925                    <p class="metas">
926                                                                            <span class="meta-date">Le mercredi, 25 février 2026</span>
927                                            </p>
928                                    </div>
929                            </div>
930                                <div class="media blog-item" data-date="04/04/2025" data-blog-id="67eff8e1c130507d2c347756">
931                                                                                                        <div class="media-body">
932                    <p class="media-heading">
933                        <a href="https://www.tschanz.fr/blog/declaration-des-revenus-de-2024-les-dates-limites-selon-les-departements-sont-fixees.html">Déclaration des revenus de 2024 : les dates limites selon les départements sont fixées</a>
934                                                                    </p>
935
936                    <p class="metas">
937                                                                            <span class="meta-date">Le vendredi, 04 avril 2025</span>
938                                            </p>
939                                    </div>
940                            </div>
941                                <div class="media blog-item" data-date="
94102/06/2025" data-blog-id="67a4773d6f57507d2c34b612">
942                                                                                                        <div class="media-body">
943                    <p class="media-heading">
944                        <a href="https://www.tschanz.fr/blog/franchise-en-base-tva-modification-importante-au-1er-mars.html">franchise en base TVA Modification importante au 1er mars--&amp;gt;[ Réforme annulée]</a>
945                                                                    </p>
946
947                    <p class="metas">
948                                                                            <span class="meta-date">Le jeudi, 06 février 2025</span>
949                                            </p>
950                                    </div>
951                            </div>
952                                <div class="media blog-item" data-date="01/23/2025" data-blog-id="67921af1d5dd507d2c34888e">
953                                                                                                        <div class="media-body">
954                    <p class="media-heading">
955                        <a href="https://www.tschanz.fr/blog/difference-entre-redressement-et-liquidation-judiciaire.html">différence entre redressement et liquidation judiciaire</a>
956                                                                    </p>
957
958                    <p class="metas">
959                                                                            <span class="meta-date">Le jeudi, 23 janvier 2025</span>
960                                            </p>
961                                    </div>
962                            </div>
963            </div>
964 
965                                        </div>
966                                                                                                            </div>
967                                                                                                                                                            </div>
968                </aside>
969            </div>
970                    </div>
971        <!-- //WRAPPER -->
972
973                        <footer id="footer">
974                                    <div id="rows-60240291dd4339d72c88595f" class="rows" data-total-pages="1" data-current-page="1">                                                                                                                
975                             <div id="row-60240291dd4339d72c88595f-1" data-mcp-line-id="5e85fb7db8066a01cd1bcf4f"  class="row-container pos-1 page_1 container">
976                    <div class="row-content">
977                                                                                <div class="row" data-role="line">
978                                                                                                                                                                                                    
979                                                                                                                                                                                                                            
980                                                                                                                                                                                                                                                                        
981                                                                                                                                                                            
982                                                                                        <div data-role="cell" data-mcp-cell-id="5e85fb7db8095aefaaeed0f0" data-size="lg" id="cell-5e85fb7db8095aefaaeed0f0" class="col">
983                                               <div class="col-content col-no-widget col-codehtml">
984                                                    <p style="text-align: center; font-family: arial, helvetica, sans-serif; font-size: 0.85em; color: #666666; margin: 10px 0;">
985  © 2026 Cabinet TSCHANZ® — Marque déposée — Tous droits réservés
986</p>
987<p style="text-align: center; font-family: arial, helvetica, sans-serif; font-size: 0.8em; color: #999999; margin: 5px 0;">
988  Experts-Comptables à Annemasse &amp; Divonne-les-Bains — Membre de l'Ordre des Experts-Comptables
989</p>
990<p style="text-align: center; margin: 8px 0;">
991  <a href="mailto:[email protected]" style="color: #c5a55a; font-family: arial, sans-serif; font-size: 0.8em; text-decoration: none;">[email protected]</a>
992  &nbsp;|&nbsp;
993  <a href="tel:0450920477" style="color: #c5a55a; font-family: arial, sans-serif; font-size: 0.8em; text-decoration: none;">04 50 92 04 77</a>
994  &nbsp;|&nbsp;
995  <a href="tel:0450203998" style="color: #c5a55a; font-family: arial, sans-serif; font-size: 0.8em; text-decoration: none;">04 50 20 39 98</a>
996</p></div>
997                                            </div>
998                                                                                                                                                        </div>
999                                            </div>
1000                                    </div>
1001                            </div>
1002                    
1003
1004        
1005            <div class="container">
1006
1007                
1008                            </div>
1009
1010                            <ul id="legal-mentions" class="footer-mentions">
1011    
1012                        <li><a href="https://www.tschanz.fr/about/cgu/">Conditions générales d'utilisation</a></li>
1013            
1014    
1015    
1016    
1017            <li><button id="cookies" type="button" aria-label="Gestion des cookies">Gestion des cookies</button></li>
1018    </ul>
1019                    </footer>
1020        
1021        
1022        
1023
1024        
1025        
1026
1027						 	  
1028
1029
1030
1031
1032
1033                <button id="scroll-to-top" class="d-none d-sm-inline-block" type="button" aria-label="Scroll top" onclick="$('html, body').animate({ scrollTop:0}, 600);">
1034            <i class="material-icons md-lg md-expand_less"></i>
1035        </button>
1036        
1037                    
1037<script>
1038                /* TSCHANZ-MOBILE */
1039$(function(){
1040  /* CSS mobile */
1041  var mobileCss = '<style id="tschanz-mobile">@media(max-width:991px){' +
1042    '.tschanz-topbar{font-size:11px!important;text-align:center!important;padding:5px 8px!important;white-space:nowrap!important;}' +
1043    '#navbar{min-height:65px!important;padding-top:10px!important;padding-bottom:10px!important;}' +
1044    '#navbar .navbar-brand.d-inline-flex{display:inline-flex!important;}' +
1045        '#navbar .navbar-brand.d-inline-flex{display:inline-flex!important;}' +
1046    'html,body{overflow-x:hidden!important;max-width:100vw!important;}' +
1047  '}</style>';
1048  if(!$('#tschanz-mobile').length){ $('head').append(mobileCss); }
1049
1050  /* TOPBAR TELEPHONE */
1051  if(!document.querySelector('.tschanz-topbar')){
1052    var bar = document.createElement('div');
1053        bar.id = '.tschanz-topbar';
1054    bar.innerHTML = 'Tél. Annemasse : <a href="tel:0450920477">04 50 92 04 77</a>  |  Divonne : <a href="tel:0450203998">04 50 20 39 98</a>';
1055    var nav = document.getElementById('navbar');
1056    if(nav){ nav.parentNode.insertBefore(bar, nav); }
1057  }
1058
1059  /* BOUTON APPEL */
1060  if(!document.getElementById('tz-call')){
1061    var a = document.createElement('a');
1062    a.id = 'tz-call';
1063    a.href = 'tel:0450920477';
1064    a.title = 'Appeler le cabinet';
1065    a.innerHTML = '<svg viewBox="0 0 24 24" width="26" height="26" fill="#fff"><path d="M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1-9.4 0-17-7.6-17-17 0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1l-2.3 2.2z"/></svg>';
1066    document.body.appendChild(a);
1067  }
1068
1069  /* VFX HEXAGONES */
1070  function createHexagons(){
1071    var hero = document.querySelector('.row-highlighted');
1072    if(!hero || hero.querySelector('canvas')) return;
1073    var canvas = document.createElement('canvas');
1074    canvas.style.cssText='position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0;opacity:0.6;';
1075    hero.style.position='relative';
1076    hero.insertBefore(canvas, hero.firstChild);
1077    var ctx=canvas.getContext('2d'), hexes=[], t=0;
1078    function build(){
1079      hexes=[];
1080      var W=canvas.width=hero.offsetWidth, H=canvas.height=hero.offsetHeight, R=28;
1081      var cols=Math.ceil(W/(R*1.75))+2, rows=Math.ceil(H/(R*1.5))+2;
1082      for(var r=0;r<rows;r++) for(var c=0;c<cols;c++) hexes.push({cx:c*R*1.75+(r%2)*R*0.875,cy:r*R*1.5,phase:Math.random()*Math.PI*2});
1083    }
1084    build();
1085    window.addEventListener('resize',build);
1086    (function anim(){
1087      ctx.clearRect(0,0,canvas.width,canvas.height);
1088      hexes.forEach(function(h){
1089        var p=(Math.sin(t+h.phase)+1)/2;
1090        ctx.beginPath();
1091        for(var i=0;i<6;i++){var a=Math.PI/3*i-Math.PI/6;i?ctx.lineTo(h.cx+26*Math.cos(a),h.cy+26*Math.sin(a)):ctx.moveTo(h.cx+26*Math.cos(a),h.cy+26*Math.sin(a));}
1092        ctx.closePath();
1093        ctx.strokeStyle='rgba(197,165,90,'+(0.04+p*0.18)+')';
1094        ctx.lineWidth=0.8; ctx.stroke();
1095      });
1096      t+=0.018; requestAnimationFrame(anim);
1097    })();
1098  }
1099  setTimeout(createHexagons, 300);
1100
1101  /* VFX SOULIGNEMENT */
1102  document.querySelectorAll('.nav-link').forEach(function(link){
1103    link.classList.add('vfx-underline');
1104  });
1105
1106  /* ESPACE CLIENT label */
1107  if(!document.querySelector('#navbar::after') && window.innerWidth > 991){
1108    var style = document.getElementById('tschanz-espace');
1109    if(!style){
1110      style = document.createElement('style');
1111      style.id = 'tschanz-espace';
1112      document.head.appendChild(style);
1113    }
1114  }
1115});
1116
1117/* TSCHANZ-SIMULATEUR-TNS-FIX — abattement 26% réforme 2026 */
1118$(function(){
1119  // Uniquement sur la page simulateur TNS
1120  if(!document.getElementById('r')) return;
1121
1122  // Remplacer la fonction go() par la version corrigée avec abattement 26%
1123  window.go = function(){
1124    var r = parseFloat(document.getElementById('r').value) || 0;
1125    if(r <= 0){
1126      document.getElementById('res').style.display = 'none';
1127      return;
1128    }
1129    var p = 46368; // PASS 2026
1130    var b = r * 0.74; // base après abattement 26% — réforme URSSAF 2026
1131
1132    // Cotisations calculées sur base réduite (sauf formation et CSG/CRDS sur revenu brut)
1133    var vals = [
1134      b * 0.065,                                              // Maladie-maternité ~6.5%
1135      Math.min(b,p)*0.1775 + Math.max(0,b-p)*0.006,         // Retraite base
1136      Math.min(b,p)*0.07,                                    // Retraite complémentaire
1137      b * 0.013,                                             // Invalidité-décès
1138      b > p*0.4 ? b*0.031 : 0,                              // Allocations familiales
1139      r * 0.0025,                                            // Formation pro (sur brut)
1140      r * 0.099                                              // CSG/CRDS (sur brut)
1141    ];
1142
1143    var t = vals.reduce(function(a,b){ return a+b; }, 0);
1144
1145    function f(n){
1146      return new Intl.NumberFormat('fr-FR',{style:'currency',currency:'EUR',minimumFractionDigits:0,maximumFractionDigits:0}).format(n);
1147    }
1148
1149    vals.forEach(function(x,i){
1150      var el = document.getElementById('v'+(i+1));
1151      if(el) el.textContent = f(x);
1152    });
1153    document.getElementById('vt').textContent = f(t);
1154    document.getElementById('vb').textContent = 'Taux : ' + (t/r*100).toFixed(1) + ' %';
1155    document.getElementById('vn').textContent = f(r - t);
1156    document.getElementById('res').style.display = 'block';
1157  };
1158});
1159
1160/* TSCHANZ-MENU-CUSTOM */
1161$(function(){
1162  // Uniquement sur mobile — vérifier largeur ET présence du burger visible
1163  var burger = document.getElementById('buttonBurgerMenu');
1164  var realMenu = document.getElementById('menu');
1165  if(!burger || !realMenu) return;
1166  // Si le burger n'est pas visible, on est sur desktop
1167  if(burger.offsetParent === null) return;
1168
1169  // 1. Cacher le vrai menu Bootstrap définitivement
1170  realMenu.style.setProperty('display','none','important');
1171  burger.removeAttribute('data-toggle');
1172  burger.removeAttribute('data-target');
1173
1174  // 2. Récupérer les liens nav-left
1175  var links = realMenu.querySelectorAll('ul.nav-left > li.nav-item > a.nav-link');
1176
1177  // 3. Créer le menu custom fixe pleine largeur
1178  var existing = document.getElementById('tz-custom-menu');
1179  if(existing) existing.parentNode.removeChild(existing);
1180
1181  var myMenu = document.createElement('div');
1182  myMenu.id = 'tz-custom-menu';
1183  myMenu.setAttribute('style', [
1184    'display:none',
1185    'position:fixed',
1186    'left:0',
1187    'right:0',
1188    'width:100vw',
1189    'max-width:100vw',
1190    'z-index:99999',
1191    'background:#f9f7f4',
1192    'border-top:3px solid #C9A84C',
1193    'box-shadow:0 6px 18px rgba(0,0,0,0.12)',
1194    'box-sizing:border-box',
1195    'margin:0',
1196    'padding:0'
1197  ].join(';'));
1198
1199  function getTop(){
1200    var navbar = document.getElementById('navbar') || document.querySelector('nav.navbar');
1201    return navbar ? navbar.getBoundingClientRect().bottom : 80;
1202  }
1203
1204  var ul = document.createElement('ul');
1205  ul.setAttribute('style','list-style:none;padding:4px 0 8px;margin:0;width:100%;');
1206  links.forEach(function(a, i){
1207    var li = document.createElement('li');
1208    li.setAttribute('style','width:100%;border-bottom:'+(i<links.length-1?'1px solid #e8e4de':'none')+';');
1209    var link = document.createElement('a');
1210    link.href = a.href;
1211    link.textContent = a.textContent.trim();
1212    link.setAttribute('style',[
1213      'color:#1C2B5E','font-size:11.5px','font-weight:700',
1214      'letter-spacing:0.12em','text-transform:uppercase',
1215      'padding:14px 24px','display:block','width:100%',
1216      'text-decoration:none','box-sizing:border-box',
1217      'border-left:3px solid transparent'
1218    ].join(';'));
1219    li.appendChild(link);
1220    ul.appendChild(li);
1221  });
1222  myMenu.appendChild(ul);
1223  document.body.appendChild(myMenu);
1224
1225  // 4. Toggle
1226  var isOpen = false;
1227  burger.addEventListener('click', function(e){
1228    e.preventDefault();
1229    e.stopPropagation();
1230    isOpen = !isOpen;
1231    if(isOpen){
1232      myMenu.style.top = getTop() + 'px';
1233      myMenu.style.display = 'block';
1234      burger.classList.remove('collapsed');
1235    } else {
1236      myMenu.style.display = 'none';
1237      burger.classList.add('collapsed');
1238    }
1239  }, true);
1240
1241  // 5. Fermer au clic dehors
1242  document.addEventListener('click', function(e){
1243    if(isOpen && !myMenu.contains(e.target) && !burger.contains(e.target)){
1244      isOpen = false;
1245      myMenu.style.display = 'none';
1246      burger.classList.add('collapsed');
1247    }
1248  });
1249
1250  // 6. Recalculer top au scroll
1251  window.addEventListener('scroll', function(){
1252    if(isOpen) myMenu.style.top = getTop() + 'px';
1253  }, {passive:true});
1254});
1255
1256/* TSCHANZ-SIM-WIDGET */
1257$(function(){
1258  var w3 = document.getElementById('widget-3');
1259  var w4 = document.getElementById('widget-4');
1260  if(w3) w3.style.setProperty('display','none','important');
1261  if(w4) w4.style.setProperty('display','none','important');
1262
1263  if(document.getElementById('tz-sim-widget')) return;
1264  var w1 = document.getElementById('widget-1');
1265  if(!w1) return;
1266  var div = document.createElement('div');
1267  div.id = 'tz-sim-widget';
1268  div.innerHTML = 
1269    '<span class="tz-sim-title">Nos Simulateurs 2026</span>' +
1270    '<a href="/pages/simulateur-is-2026.html">Impot sur les Societes (IS)</a>' +
1271    '<a href="/pages/simulateur-tns-2026.html">Cotisations TNS 2026</a>';
1272  w1.parentNode.insertBefore(div, w1.nextSibling);
1273});
1274
1275/* TSCHANZ-FORMULAIRES-FIX */
1276$(function(){
1277  var tzForms = document.getElementById('tz-forms');
1278  if(!tzForms) return;
1279  // Trouver le conteneur de contenu principal de la page (là où le texte de page s'affiche)
1280  var pageContent = document.querySelector('.page-content, #content, .content-wrapper, [class*="page-body"], .entry-content, .col-md-9 .widget-content');
1281  if(!pageContent) {
1282    // Fallback : chercher le premier div après le navbar qui contient du contenu de page
1283    var main = document.querySelector('main, #main, .main, [role="main"]');
1284    if(main) pageContent = main;
1285  }
1286  if(pageContent) {
1287    // Déplacer tz-forms à l'intérieur du bon conteneur
1288    pageContent.insertBefore(tzForms, pageContent.firstChild);
1289    tzForms.style.display = 'block';
1290  } else {
1291    // Fallback : insérer après le navbar dans le body
1292    var navbar = document.getElementById('navbar');
1293    if(navbar && navbar.parentElement) {
1294      navbar.parentElement.insertBefore(tzForms, navbar.nextSibling);
1295    }
1296  }
1297});
1298
1299$(function() {
1300
1301  /* 1. LIEN LIENS : corriger URL 404 */
1302  $('a').each(function() {
1303    if ($(this).text().trim() === 'Liens' && $(this).attr('href') && $(this).attr('href').includes('/liens')) {
1304      $(this).attr('href', '/pages/formulaires-en-ligne.html');
1305    }
1306  });
1307
1308  /* 2. SUPPRIMER LIENS EN DOUBLE : masquer celui dans nav-left */
1309  var navLeft = document.querySelector('#menu ul.navbar-nav:first-child');
1310  if (navLeft) {
1311    var liensInLeft = [...navLeft.querySelectorAll('a:not(.cal-footer a):not(.cal-footer *)')].find(a => a.textContent.trim() === 'Liens');
1312    if (liensInLeft) {
1313      var li = liensInLeft.closest('li');
1314      if (li) li.style.display = 'none';
1315    }
1316  }
1317
1318  /* 3. TEXTES INVISIBLES sur fond sombre : forcer blanc */
1319  var darkSections = [...document.querySelectorAll('[style*="background"]')].filter(el => {
1320    var bg = window.getComputedStyle(el).backgroundColor;
1321    return bg === 'rgb(14, 30, 53)' || bg === 'rgb(10, 18, 35)' || bg === 'rgb(26, 46, 74)';
1322  });
1323  darkSections.forEach(function(section) {
1324    section.querySelectorAll('p, span, li, td, div').forEach(function(el) {
1325      var c = window.getComputedStyle(el).color;
1326      if (c === 'rgb(0, 0, 0)' || c === 'rgb(44, 44, 44)' || c === 'rgb(44, 62, 80)') {
1327        el.style.setProperty('color', 'rgba(255,255,255,0.88)', 'important');
1328      }
1329    });
1330  });
1331
1332});
1333
1334/* ===== CORRECTIONS AUDIT 02/04/2026 ===== */
1335
1336/* Fix A : Mixed content - images HTTP → HTTPS */
1337document.querySelectorAll('img').forEach(function(img){
1338  if(img.src && img.src.indexOf('http://') === 0){
1339    img.src = img.src.replace('http://', 'https://');
1340  }
1341});
1342// Observer pour images chargées après DOM
1343var imgObserver = new MutationObserver(function(muts){
1344  muts.forEach(function(m){
1345    m.addedNodes.forEach(function(n){
1346      if(n.tagName === 'IMG' && n.src && n.src.indexOf('http://') === 0)
1347        n.src = n.src.replace('http://','https://');
1348      if(n.querySelectorAll){
1349        n.querySelectorAll('img[src^="http://"]').forEach(function(i){
1350          i.src = i.src.replace('http://','https://');
1351        });
1352      }
1353    });
1354  });
1355});
1356imgObserver.observe(document.body, {childList:true, subtree:true});
1357
1358/* Fix B : Lien contact/ -> contact/ */
1359document.querySelectorAll('a[href$="contact/"]').forEach(function(a){
1360  a.href = a.href.replace(/contact\.html$/, 'contact/');
1361});
1362
1363/* Fix C : Lien Google Maps - corriger goo.gl/maps/4AFVB */
1364document.querySelectorAll('a[href*="goo.gl/maps"]').forEach(function(a){
1365  a.href = 'https://www.google.com/maps/place/Cabinet+TSCHANZ+Experts-Comptables/@46.1957,6.2358,17z/';
1366  a.target = '_blank';
1367  a.rel = 'noopener noreferrer';
1368});
1369
1370/* Fix D : Liens dans divs à fond navy (style inline) -> blanc */
1371document.querySelectorAll('div[style]').forEach(function(div){
1372  if(div.style.backgroundColor === 'rgb(14, 30, 53)' || div.style.background === 'rgb(14, 30, 53)'){
1373    div.querySelectorAll('a:not(.cal-footer a):not(.cal-footer *)').forEach(function(a){
1374      a.style.setProperty('color','#ffffff','important');
1375    });
1376  }
1377});
1378/* Idem après mutations DOM */
1379var navyObserver = new MutationObserver(function(){
1380  document.querySelectorAll('div[style]').forEach(function(div){
1381    if(div.style.backgroundColor === 'rgb(14, 30, 53)' || div.style.background === 'rgb(14, 30, 53)'){
1382      div.querySelectorAll('a:not(.cal-footer a):not(.cal-footer *)').forEach(function(a){
1383        a.style.setProperty('color','#ffffff','important');
1384      });
1385    }
1386  });
1387});
1388navyObserver.observe(document.body,{childList:true,subtree:true});
1389
1390/* Fix E : Liens <a> avec fond navy inline -> texte blanc (NOUS CONTACTER) */
1391(function fixNavyLinks(){
1392  document.querySelectorAll('a[style]:not(.cal-footer *):not(#cell-69c163b179b7e08644b9fc2a *)').forEach(function(a){
1393    if(a.style.backgroundColor === 'rgb(14, 30, 53)' || a.style.background === 'rgb(14, 30, 53)'){
1394      a.style.setProperty('color','#ffffff','important');
1395    }
1396  });
1397  // Ré-appliquer après chargement complet
1398  window.addEventListener('load', function(){
1399    document.querySelectorAll('a[style]:not(.cal-footer *):not(#cell-69c163b179b7e08644b9fc2a *)').forEach(function(a){
1400      if(a.style.backgroundColor === 'rgb(14, 30, 53)' || a.style.background === 'rgb(14, 30, 53)'){
1401        a.style.setProperty('color','#ffffff','important');
1402      }
1403    });
1404  });
1405})();
1406
1407// lire-color-fix-v2
1408(function() {
1409  function fixLire() {
1410    document.querySelectorAll('a[href*="/blog/"]:not(.cal-footer *)').forEach(function(a) {
1411      if (a.textContent.match(/LIRE|ARTICLE/)) {
1412        var s = a.getAttribute('style') || '';
1413        if (s.indexOf('rgb(255, 255, 255)') !== -1 || s.indexOf('white') !== -1) {
1414          a.style.removeProperty('color');
1415          a.style.setProperty('color', '#c5a55a', 'important');
1416        }
1417      }
1418    });
1419  }
1420  fixLire();
1421  setTimeout(fixLire, 300);
1422  setTimeout(fixLire, 800);
1423  setTimeout(fixLire, 2000);
1424  var obs = new MutationObserver(function(muts) {
1425    muts.forEach(function(m) {
1426      if (m.target && m.target.tagName === 'A' && m.attributeName === 'style') {
1427        var a = m.target;
1428        if (a.href && a.href.indexOf('/blog/') !== -1 && a.textContent.match(/LIRE|ARTICLE/)) {
1429          var s = a.getAttribute('style') || '';
1430          if (s.indexOf('rgb(255, 255, 255)') !== -1 || s.indexOf('white') !== -1) {
1431            a.style.removeProperty('color');
1432            a.style.setProperty('color', '#c5a55a', 'important');
1433          }
1434        }
1435      }
1436    });
1437  });
1438  document.addEventListener('DOMContentLoaded', function() {
1439    obs.observe(document.body, {subtree: true, attributes: true, attributeFilter: ['style']});
1440    fixLire();
1441  });
1442  if (document.readyState !== 'loading') {
1443    obs.observe(document.body, {subtree: true, attributes: true, attributeFilter: ['style']});
1444  }
1445})();
1446
1447
1448/* === FIX NAVBAR MOBILE - Position burger visible === */
1449function applyMobileNavFix(){
1450  var nb = document.getElementById('navbar');
1451  if(!nb) return;
1452  if(window.innerWidth <= 991){
1453    nb.style.setProperty('top', '35px', 'important');
1454    nb.style.setProperty('z-index', '1060', 'important');
1455    var nbH = nb.offsetHeight || 65;
1456    var nbHCapped = Math.min(nbH, 60); document.documentElement.style.setProperty('padding-top', (35 + nbHCapped) + 'px', 'important');
1457  } else {
1458    nb.style.removeProperty('top');
1459    document.documentElement.style.removeProperty('padding-top');
1460  }
1461}
1462$(document).ready(function(){
1463  setTimeout(applyMobileNavFix, 150);
1464  setTimeout(applyMobileNavFix, 600);
1465});
1466$(window).on('resize orientationchange', applyMobileNavFix);
1467
1468/* Fix h2 blanc dans sections facturation */
1469(function(){var s=document.createElement('style');s.textContent='.col-content h2{color:inherit!important;}.col-content h2[style*="color: #ffffff"],.col-content h2[style*="color:#ffffff"]{color:#ffffff!important;}';document.head.appendChild(s);})();
1470
1471/* Fix p/h3 invisibles - gradient navy */
1472$(document).ready(function(){setTimeout(function(){document.querySelectorAll('p,h3,h4').forEach(function(el){var bgI=window.getComputedStyle(el.parentElement||el).backgroundImage;var col=window.getComputedStyle(el).color;if(bgI&&bgI.includes('14, 30, 53')&&(col.includes('44, 62')||col.includes('14, 30'))){el.style.setProperty('color','rgba(255,255,255,0.88)','important');}});},600);});
1473
1474
1475
1476/* Fix p/h3 - 5 niveaux parents navy */
1477$(document).ready(function(){setTimeout(function(){document.querySelectorAll('p,h3,h4').forEach(function(el){var c=el,dark=false;for(var i=0;i<6;i++){c=c&&c.parentElement;if(c){var bi=window.getComputedStyle(c).backgroundImage;if(bi&&bi.includes('14, 30, 53')){dark=true;break;}}}var col=window.getComputedStyle(el).color;if(dark&&(col.includes('44, 62')||col.includes('14, 30'))){el.style.setProperty('color','rgba(255,255,255,0.88)','important');}});},700);});
1478
1479/* Fix couleurs navy - load + 1500ms */
1480function fixNavyTexts(){document.querySelectorAll('p,h3,h4').forEach(function(el){var c=el,dark=false;for(var i=0;i<6;i++){c=c&&c.parentElement;if(c){var bi=window.getComputedStyle(c).backgroundImage;if(bi&&bi.includes('14, 30, 53')){dark=true;break;}}}var col=window.getComputedStyle(el).color;if(dark&&(col.includes('44, 62')||col.includes('14, 30'))){el.style.setProperty('color','rgba(255,255,255,0.88)','important');}});30window.addEventListener('load',function(){setTimeout(fixNavyTexts,500);setTimeout(fixNavyTexts,1500);})appendChild$(document).ready(function(){setTimeout(fixNavyTexts,800);setTimeout(fixNavyTexts,2000);});
1481
1482/* CACHER TITRE WIDGET SIDEBAR */
1483if(document.querySelector('#widget-1 .widget-title')){
1484  document.querySelector('#widget-1 .widget-title').style.display='none';
1485}
1486
1487/* TEXTE BLANC SUR FONDS NAVY #0e1e35 */
1488(function(){
1489  var s=document.createElement('style');
1490  s.textContent='div[style*="background:#0e1e35"] p,div[style*="background:#0e1e35"] li,div[style*="background:#0e1e35"] h1,div[style*="background:#0e1e35"] h2,div[style*="background:#0e1e35"] h3,div[style*="background:#0e1e35"] h4{color:#ffffff!important;}';
1491  document.head.appendChild(s);
1492})();
1493
1494
1495/* FOOTER ELEGANT COMPACT - injection inline */
1496(function applyFooterStyle(){
1497  var f=document.getElementById('footer');
1498  if(!f){setTimeout(applyFooterStyle,300);return;}
1499  f.style.cssText='background:#0e1e35!important;padding:8px 0!important;border-top:1px solid rgba(197,165,90,0.3)!important;';
1500  var containers=f.querySelectorAll('.row-container,.row,.col,.col-content');
1501  containers.forEach(function(el){
1502    el.style.background='transparent';
1503    el.style.backgroundColor='transparent';
1504  });
1505  f.querySelectorAll('p').forEach(function(el){
1506    el.style.fontSize='11px';
1507    el.style.color='rgba(247,244,239,0.8)';
1508    el.style.margin='2px 0';
1509    el.style.lineHeight='1.4';
1510    el.style.textAlign='center';
1511  });
1512  f.querySelectorAll('a:not(.cal-footer a):not(.cal-footer *)').forEach(function(el){
1513    var elBg = window.getComputedStyle(el).backgroundColor; if(elBg === 'rgb(197, 165, 90)') return;
1513 // skip liens avec fond or
1514    el.style.fontSize='11px';
1515    el.style.color='#c5a55a';
1516  });
1517})();
1518
1519/* MASQUER WIDGETS SIDEBAR EN DOUBLE (widget-3 vide + widget-4 doublon) */
1520(function(){
1521  var w3 = document.getElementById('widget-3');
1522  var w4 = document.getElementById('widget-4');
1523  if(w3) w3.style.display = 'none';
1524  if(w4) w4.style.display = 'none';
1525})();
1526
1527/* MASQUER RONDS BLEUS ET FLECHES SUR LES LISTES */
1528(function(){
1529  var s=document.createElement('style');
1530  s.textContent='.col-content.col-no-widget ul>li::before,.content ul>li::before{display:none!important;}.col-content.col-no-widget ul>li::after,.content ul>li::after{display:none!important;}.col-content.col-no-widget ul>li,.content ul>li{padding-left:0!important;list-style:none!important;}';
1531  document.head.appendChild(s);
1532})();
1533
1534/* CORRIGER TEXTE BLANC SUR FOND BLANC (#ffffff) - boites etapes et autres */
1535(function fixWhiteOnWhite(){
1536  var boxes = document.querySelectorAll('div[style*="background: #ffffff"],div[style*="background:#ffffff"]');
1537  boxes.forEach(function(box){
1538    box.querySelectorAll('*').forEach(function(el){
1539      var c = window.getComputedStyle(el).color;
1540      if(c.includes('255, 255, 255')){
1541        el.style.setProperty('color','#0e1e35','important');
1542      }
1543    });
1544  });
1545  // Aussi corriger les textes blancs sur fond creme (row-content)
1546  document.querySelectorAll('.row-content,.col-content').forEach(function(el){
1547    if(window.getComputedStyle(el).color==='rgb(255, 255, 255)'){
1548      el.style.setProperty('color','#0e1e35','important');
1549    }
1550  });
1551})();
1552
1553/* ── TOPBAR GLOBAL TSCHANZ ── */
1554(function(){
1555  if(document.querySelector('.tschanz-topbar')) return;
1556  var style = document.createElement('style');
1557  style.textContent = '.tschanz-topbar{background:#1B2A4A;color:rgba(255,255,255,0.8);text-align:center;padding:7px 16px;font-size:0.83em;font-family:arial,sans-serif;letter-spacing:.3px;}.tschanz-topbar a{color:#C5A55A;text-decoration:none;font-weight:600;}.tschanz-topbar a:hover{text-decoration:underline;}';
1558  document.head.appendChild(style);
1559  var tb = document.createElement('div');
1560  tb.className = 'tschanz-topbar';
1561  tb.innerHTML = '<span style="color:#C5A55A">&#9742;</span>&nbsp;<a href="tel:+33450920477">04&nbsp;50&nbsp;92&nbsp;04&nbsp;77</a>&emsp;|&emsp;Annemasse &amp; Divonne-les-Bains&emsp;|&emsp;<a href="mailto:[email protected]">[email protected]</a>';
1562  var nav = document.getElementById('navbar') || document.querySelector('nav');
1563  if(nav && nav.parentNode) nav.parentNode.insertBefore(tb, nav);
1564})();
1565/* ── FIX DOUBLE LIENS NAVBAR (global) ── */
1566(function(){
1567  var liens = Array.from(document.querySelectorAll('#navbar a[href*="/liens/"]'));
1568  if(liens.length > 1) {
1569    var last = liens[liens.length-1].closest('li') || liens[liens.length-1].parentElement;
1570    if(last) last.style.display = 'none';
1571  }
1572})();
1573
1574/* Fix contact/ → contact/ ROBUSTE avec retry */
1575(function fixContactLinks(){
1576  function fix(){
1577    document.querySelectorAll('a[href$="contact/"]').forEach(function(a){
1578      a.href = a.href.replace('contact/','contact/');
1579    });
1580  }
1581  fix();
1582  setTimeout(fix, 200);
1583  setTimeout(fix, 600);
1584  setTimeout(fix, 1500);
1585  var obs = new MutationObserver(fix);
1586  obs.observe(document.body, {childList:true, subtree:true});
1587})();
1588
1589/* Fix FINAL contact 404 - sélecteur dynamique anti-cache */
1590(function(){
1591  var ext = 'contact' + '.' + 'html';
1592  var target = 'contact/';
1593  function fixLinks(){
1594    document.querySelectorAll('a:not(.cal-footer a):not(.cal-footer *)').forEach(function(a){
1595      if(a.href && a.href.indexOf(ext) !== -1){
1596        a.href = a.href.replace(ext, target);
1597      }
1598    });
1599  }
1600  fixLinks();
1601  setTimeout(fixLinks, 100);
1602  setTimeout(fixLinks, 300);
1603  setTimeout(fixLinks, 800);
1604  setTimeout(fixLinks, 2000);
1605  var obs = new MutationObserver(fixLinks);
1606  document.addEventListener('DOMContentLoaded', function(){
1607    obs.observe(document.body, {childList:true, subtree:true, attributes:true, attributeFilter:['href']});
1608    fixLinks();
1609  });
1610  if(document.body) obs.observe(document.body, {childList:true, subtree:true});
1611})();
1612
1613/* Fix liens 404 - navbar Liens + contact/contact.html */
1614(function(){
1615  function fixNav(){
1616    // Fix "Liens" → formulaires-en-ligne (page dépubliée)
1617    document.querySelectorAll('a:not(.cal-footer a):not(.cal-footer *)').forEach(function(a){
1618      if(a.href && a.href.match(/tschanz.fr/liens/?$/)){
1619        a.href = '/pages/formulaires-en-ligne.html';
1620      }
1621      // Fix contact/contact.html → contact/
1622      if(a.href && a.href.indexOf('contact/contact') !== -1){
1623        a.href = a.href.replace('contact/contact.html','contact/');
1624      }
1625    });
1626  }
1627  fixNav();
1628  setTimeout(fixNav, 150);
1629  setTimeout(fixNav, 500);
1630  setTimeout(fixNav, 1500);
1631  var obs = new MutationObserver(fixNav);
1632  if(document.body) obs.observe(document.body,{childList:true,subtree:true});
1633  document.addEventListener('DOMContentLoaded', function(){ fixNav(); obs.observe(document.body,{childList:true,subtree:true}); });
1634})();
1635
1636/* Fix bouton NOUS ECRIRE - fond or texte doit etre navy */
1637(function(){
1638  function fix(){
1639    document.querySelectorAll('a[href^="mailto:"]').forEach(function(a){
1640      if(a.style && a.style.cssText && a.style.cssText.indexOf('c5a55a') !== -1){
1641        a.style.setProperty('color','#0e1e35','important');
1642      }
1643    });
1644  }
1645  setTimeout(fix,300);setTimeout(fix,800);setTimeout(fix,2000);
1646})();
1647
1648/* Fix couleur mailto Nous ecrire */
1649document.addEventListener('DOMContentLoaded', function() {
1650  var cell = document.getElementById('cell-69c163b179b7e08644b9fc2a');
1651  if (cell) {
1652    var link = cell.querySelector('a[href="mailto:[email protected]"]');
1653    if (link) {
1654      link.style.setProperty('color', '#ffffff', 'important');
1655      link.style.setProperty('font-weight', '600', 'important');
1656    }
1657  }
1658});
1659            </script>
1659
1660        
1661    </body>
1662</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.