/* Finitions (octobre 2026) : en-tête et sous-menus, soulignés ondulés au survol,
   survol des boutons plus marqué, et mises en page des pages intérieures.
   Chargé en dernier : ces règles complètent ou remplacent celles des fichiers précédents. */

:root {
  /* Trait ondulé « fait main » : un long tracé à échelle fixe (preserveAspectRatio « slice » calé à gauche).
     Au survol, la zone peinte s'élargit de gauche à droite : le trait se dessine, il n'est jamais étiré. */
  --vague-jaune: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3000 12' preserveAspectRatio='xMinYMid slice'%3E%3Cpath d='M2 6 S 10.3 3.8, 18.6 6.2 S 26.3 8.8, 34.0 5.8 S 41.6 3.3, 49.3 5.4 S 57.9 8.1, 66.4 5.5 S 75.0 2.8, 83.6 5.5 S 91.6 8.9, 99.7 6.5 S 108.6 3.4, 117.6 6.6 S 125.2 9.2, 132.8 5.7 S 140.7 3.8, 148.5 5.8 S 158.1 8.3, 167.6 6.1 S 176.7 3.5, 185.8 6.1 S 193.5 8.1, 201.1 5.6 S 210.3 3.4, 219.5 5.8 S 228.5 8.6, 237.4 5.8 S 246.9 3.0, 256.4 5.7 S 265.3 8.7, 274.3 6.5 S 283.6 3.6, 292.9 6.6 S 300.7 8.6, 308.5 6.3 S 316.4 3.3, 324.3 5.4 S 333.4 9.1, 342.6 6.1 S 352.3 3.6, 362.0 6.2 S 371.0 8.8, 380.0 5.9 S 389.6 2.7, 399.2 6.0 S 408.3 8.1, 417.5 6.2 S 426.6 2.6, 435.7 6.4 S 443.9 8.5, 452.1 6.2 S 459.7 3.4, 467.3 5.6 S 475.1 8.1, 482.8 6.3 S 490.7 3.7, 498.5 5.9 S 508.2 8.1, 517.9 5.9 S 526.7 2.8, 535.6 6.4 S 545.3 8.4, 554.9 5.9 S 563.3 2.8, 571.7 6.5 S 579.6 8.2, 587.5 5.7 S 595.5 3.3, 603.6 6.1 S 611.8 8.0, 619.9 5.9 S 628.4 3.2, 636.8 6.5 S 646.0 8.7, 655.2 6.1 S 664.4 3.9, 673.6 6.5 S 683.1 9.2, 692.5 6.4 S 701.0 3.4, 709.5 5.5 S 718.6 8.1, 727.7 5.5 S 735.7 3.8, 743.7 5.8 S 751.3 8.0, 759.0 5.6 S 766.7 3.5, 774.5 5.4 S 784.2 8.9, 793.8 5.6 S 802.0 3.5, 810.1 5.8 S 817.9 9.2, 825.7 6.6 S 834.4 3.3, 843.1 5.5 S 850.8 8.5, 858.6 5.7 S 868.1 3.8, 877.7 5.4 S 887.6 8.7, 897.5 5.6 S 906.3 4.0, 915.2 6.0 S 925.1 9.2, 935.1 6.2 S 943.2 3.5, 951.4 5.6 S 960.8 8.7, 970.2 6.3 S 978.6 3.7, 986.9 6.4 S 996.8 9.2, 1006.8 6.4 S 1016.4 3.0, 1025.9 5.7 S 1034.7 8.5, 1043.5 5.4 S 1051.1 3.6, 1058.6 5.7 S 1067.9 9.3, 1077.1 5.9 S 1086.9 2.6, 1096.8 6.5 S 1105.2 8.3, 1113.6 5.7 S 1121.6 3.7, 1129.6 6.1 S 1139.3 9.2, 1149.1 6.0 S 1158.2 2.9, 1167.3 5.5 S 1176.5 9.3, 1185.7 6.3 S 1195.0 3.3, 1204.4 5.6 S 1213.9 8.5, 1223.3 6.4 S 1233.3 3.4, 1243.2 5.9 S 1253.1 9.0, 1262.9 5.6 S 1270.8 3.8, 1278.6 6.5 S 1288.1 8.2, 1297.6 6.4 S 1307.6 3.1, 1317.5 5.8 S 1326.4 8.2, 1335.3 5.4 S 1345.2 3.1, 1355.1 6.0 S 1364.9 8.6, 1374.8 6.4 S 1384.3 3.7, 1393.9 5.7 S 1402.1 8.3, 1410.4 6.1 S 1418.5 3.4, 1426.7 5.6 S 1436.4 8.5, 1446.2 5.9 S 1455.2 2.7, 1464.1 5.9 S 1473.9 8.7, 1483.7 6.0 S 1492.5 4.0, 1501.3 5.9 S 1509.3 8.0, 1517.3 6.4 S 1525.2 3.3, 1533.1 6.3 S 1542.0 8.5, 1550.9 6.0 S 1559.8 2.9, 1568.7 5.5 S 1577.6 8.3, 1586.5 5.7 S 1595.9 3.3, 1605.3 6.1 S 1614.7 9.3, 1624.1 5.9 S 1633.2 3.3, 1642.2 6.0 S 1651.4 8.6, 1660.7 6.0 S 1669.4 2.7, 1678.1 6.2 S 1687.7 9.3, 1697.4 5.7 S 1706.3 2.7, 1715.2 6.4 S 1723.1 8.2, 1730.9 5.9 S 1738.6 3.7, 1746.3 5.5 S 1755.5 9.1, 1764.6 6.5 S 1772.5 3.0, 1780.4 6.2 S 1788.3 9.2, 1796.1 6.6 S 1804.2 2.7, 1812.2 5.9 S 1820.9 9.4, 1829.7 6.4 S 1837.6 3.4, 1845.5 6.0 S 1853.8 8.3, 1862.2 5.8 S 1871.5 4.0, 1880.8 6.1 S 1889.4 8.0, 1898.0 5.8 S 1907.0 3.3, 1916.1 5.5 S 1926.1 9.1, 1936.0 6.6 S 1943.8 3.6, 1951.5 5.4 S 1961.0 8.4, 1970.4 5.6 S 1979.0 2.7, 1987.5 6.4 S 1995.7 8.2, 2003.8 6.5 S 2012.8 3.0, 2021.7 5.5 S 2029.3 9.0, 2037.0 5.9 S 2044.7 2.7, 2052.3 6.2 S 2061.8 8.1, 2071.3 6.4 S 2079.0 2.8, 2086.7 5.9 S 2095.0 8.8, 2103.4 6.5 S 2111.5 3.8, 2119.7 6.0 S 2127.8 8.2, 2135.9 5.6 S 2143.5 3.7, 2151.2 5.8 S 2159.4 9.1, 2167.7 5.7 S 2176.4 3.8, 2185.2 5.8 S 2192.7 8.4, 2200.3 5.4 S 2209.6 3.2, 2218.9 5.6 S 2227.6 9.3, 2236.3 5.5 S 2245.9 3.4, 2255.4 6.0 S 2265.0 8.6, 2274.6 6.0 S 2283.8 2.6, 2293.0 5.8 S 2302.6 9.0, 2312.2 6.2 S 2320.7 3.5, 2329.2 5.5 S 2337.0 8.1, 2344.9 6.3 S 2353.0 3.8, 2361.1 5.5 S 2370.7 9.2, 2380.3 6.2 S 2388.5 3.7, 2396.8 5.8 S 2405.4 8.2, 2414.0 5.9 S 2422.2 2.7, 2430.4 6.6 S 2439.2 8.3, 2448.1 6.6 S 2456.4 3.5, 2464.6 5.4 S 2473.1 8.7, 2481.6 6.0 S 2489.6 3.3, 2497.6 5.4 S 2505.7 8.1, 2513.9 5.9 S 2521.5 4.0, 2529.1 5.8 S 2537.2 8.8, 2545.3 6.0 S 2554.6 3.1, 2564.0 6.3 S 2573.7 8.5, 2583.4 5.8 S 2593.4 3.8, 2603.3 6.3 S 2612.4 8.1, 2621.5 6.4 S 2631.3 3.1, 2641.0 6.3 S 2650.5 8.2, 2660.1 6.0 S 2668.8 2.8, 2677.6 6.4 S 2687.1 8.8, 2696.7 6.5 S 2705.9 3.0, 2715.1 5.7 S 2722.7 8.2, 2730.3 5.8 S 2738.0 2.8, 2745.8 6.1 S 2754.9 8.9, 2763.9 6.2 S 2772.7 4.0, 2781.4 6.4 S 2790.8 8.7, 2800.1 6.0 S 2809.3 3.9, 2818.4 6.3 S 2826.6 8.1, 2834.7 5.7 S 2844.0 3.7, 2853.3 6.3 S 2863.3 8.7, 2873.2 5.9 S 2881.9 3.0, 2890.6 6.3 S 2899.7 8.9, 2908.7 5.5 S 2916.6 3.6, 2924.4 6.3 S 2932.7 8.8, 2941.0 5.4 S 2948.6 3.6, 2956.3 6.2 S 2965.5 8.9, 2974.7 5.7 S 2983.5 3.3, 2992.3 6.0 S 3000.1 9.3, 2998.0 5.6' fill='none' stroke='%23f3b26b' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --vague-blanc: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3000 12' preserveAspectRatio='xMinYMid slice'%3E%3Cpath d='M2 6 S 10.3 3.8, 18.6 6.2 S 26.3 8.8, 34.0 5.8 S 41.6 3.3, 49.3 5.4 S 57.9 8.1, 66.4 5.5 S 75.0 2.8, 83.6 5.5 S 91.6 8.9, 99.7 6.5 S 108.6 3.4, 117.6 6.6 S 125.2 9.2, 132.8 5.7 S 140.7 3.8, 148.5 5.8 S 158.1 8.3, 167.6 6.1 S 176.7 3.5, 185.8 6.1 S 193.5 8.1, 201.1 5.6 S 210.3 3.4, 219.5 5.8 S 228.5 8.6, 237.4 5.8 S 246.9 3.0, 256.4 5.7 S 265.3 8.7, 274.3 6.5 S 283.6 3.6, 292.9 6.6 S 300.7 8.6, 308.5 6.3 S 316.4 3.3, 324.3 5.4 S 333.4 9.1, 342.6 6.1 S 352.3 3.6, 362.0 6.2 S 371.0 8.8, 380.0 5.9 S 389.6 2.7, 399.2 6.0 S 408.3 8.1, 417.5 6.2 S 426.6 2.6, 435.7 6.4 S 443.9 8.5, 452.1 6.2 S 459.7 3.4, 467.3 5.6 S 475.1 8.1, 482.8 6.3 S 490.7 3.7, 498.5 5.9 S 508.2 8.1, 517.9 5.9 S 526.7 2.8, 535.6 6.4 S 545.3 8.4, 554.9 5.9 S 563.3 2.8, 571.7 6.5 S 579.6 8.2, 587.5 5.7 S 595.5 3.3, 603.6 6.1 S 611.8 8.0, 619.9 5.9 S 628.4 3.2, 636.8 6.5 S 646.0 8.7, 655.2 6.1 S 664.4 3.9, 673.6 6.5 S 683.1 9.2, 692.5 6.4 S 701.0 3.4, 709.5 5.5 S 718.6 8.1, 727.7 5.5 S 735.7 3.8, 743.7 5.8 S 751.3 8.0, 759.0 5.6 S 766.7 3.5, 774.5 5.4 S 784.2 8.9, 793.8 5.6 S 802.0 3.5, 810.1 5.8 S 817.9 9.2, 825.7 6.6 S 834.4 3.3, 843.1 5.5 S 850.8 8.5, 858.6 5.7 S 868.1 3.8, 877.7 5.4 S 887.6 8.7, 897.5 5.6 S 906.3 4.0, 915.2 6.0 S 925.1 9.2, 935.1 6.2 S 943.2 3.5, 951.4 5.6 S 960.8 8.7, 970.2 6.3 S 978.6 3.7, 986.9 6.4 S 996.8 9.2, 1006.8 6.4 S 1016.4 3.0, 1025.9 5.7 S 1034.7 8.5, 1043.5 5.4 S 1051.1 3.6, 1058.6 5.7 S 1067.9 9.3, 1077.1 5.9 S 1086.9 2.6, 1096.8 6.5 S 1105.2 8.3, 1113.6 5.7 S 1121.6 3.7, 1129.6 6.1 S 1139.3 9.2, 1149.1 6.0 S 1158.2 2.9, 1167.3 5.5 S 1176.5 9.3, 1185.7 6.3 S 1195.0 3.3, 1204.4 5.6 S 1213.9 8.5, 1223.3 6.4 S 1233.3 3.4, 1243.2 5.9 S 1253.1 9.0, 1262.9 5.6 S 1270.8 3.8, 1278.6 6.5 S 1288.1 8.2, 1297.6 6.4 S 1307.6 3.1, 1317.5 5.8 S 1326.4 8.2, 1335.3 5.4 S 1345.2 3.1, 1355.1 6.0 S 1364.9 8.6, 1374.8 6.4 S 1384.3 3.7, 1393.9 5.7 S 1402.1 8.3, 1410.4 6.1 S 1418.5 3.4, 1426.7 5.6 S 1436.4 8.5, 1446.2 5.9 S 1455.2 2.7, 1464.1 5.9 S 1473.9 8.7, 1483.7 6.0 S 1492.5 4.0, 1501.3 5.9 S 1509.3 8.0, 1517.3 6.4 S 1525.2 3.3, 1533.1 6.3 S 1542.0 8.5, 1550.9 6.0 S 1559.8 2.9, 1568.7 5.5 S 1577.6 8.3, 1586.5 5.7 S 1595.9 3.3, 1605.3 6.1 S 1614.7 9.3, 1624.1 5.9 S 1633.2 3.3, 1642.2 6.0 S 1651.4 8.6, 1660.7 6.0 S 1669.4 2.7, 1678.1 6.2 S 1687.7 9.3, 1697.4 5.7 S 1706.3 2.7, 1715.2 6.4 S 1723.1 8.2, 1730.9 5.9 S 1738.6 3.7, 1746.3 5.5 S 1755.5 9.1, 1764.6 6.5 S 1772.5 3.0, 1780.4 6.2 S 1788.3 9.2, 1796.1 6.6 S 1804.2 2.7, 1812.2 5.9 S 1820.9 9.4, 1829.7 6.4 S 1837.6 3.4, 1845.5 6.0 S 1853.8 8.3, 1862.2 5.8 S 1871.5 4.0, 1880.8 6.1 S 1889.4 8.0, 1898.0 5.8 S 1907.0 3.3, 1916.1 5.5 S 1926.1 9.1, 1936.0 6.6 S 1943.8 3.6, 1951.5 5.4 S 1961.0 8.4, 1970.4 5.6 S 1979.0 2.7, 1987.5 6.4 S 1995.7 8.2, 2003.8 6.5 S 2012.8 3.0, 2021.7 5.5 S 2029.3 9.0, 2037.0 5.9 S 2044.7 2.7, 2052.3 6.2 S 2061.8 8.1, 2071.3 6.4 S 2079.0 2.8, 2086.7 5.9 S 2095.0 8.8, 2103.4 6.5 S 2111.5 3.8, 2119.7 6.0 S 2127.8 8.2, 2135.9 5.6 S 2143.5 3.7, 2151.2 5.8 S 2159.4 9.1, 2167.7 5.7 S 2176.4 3.8, 2185.2 5.8 S 2192.7 8.4, 2200.3 5.4 S 2209.6 3.2, 2218.9 5.6 S 2227.6 9.3, 2236.3 5.5 S 2245.9 3.4, 2255.4 6.0 S 2265.0 8.6, 2274.6 6.0 S 2283.8 2.6, 2293.0 5.8 S 2302.6 9.0, 2312.2 6.2 S 2320.7 3.5, 2329.2 5.5 S 2337.0 8.1, 2344.9 6.3 S 2353.0 3.8, 2361.1 5.5 S 2370.7 9.2, 2380.3 6.2 S 2388.5 3.7, 2396.8 5.8 S 2405.4 8.2, 2414.0 5.9 S 2422.2 2.7, 2430.4 6.6 S 2439.2 8.3, 2448.1 6.6 S 2456.4 3.5, 2464.6 5.4 S 2473.1 8.7, 2481.6 6.0 S 2489.6 3.3, 2497.6 5.4 S 2505.7 8.1, 2513.9 5.9 S 2521.5 4.0, 2529.1 5.8 S 2537.2 8.8, 2545.3 6.0 S 2554.6 3.1, 2564.0 6.3 S 2573.7 8.5, 2583.4 5.8 S 2593.4 3.8, 2603.3 6.3 S 2612.4 8.1, 2621.5 6.4 S 2631.3 3.1, 2641.0 6.3 S 2650.5 8.2, 2660.1 6.0 S 2668.8 2.8, 2677.6 6.4 S 2687.1 8.8, 2696.7 6.5 S 2705.9 3.0, 2715.1 5.7 S 2722.7 8.2, 2730.3 5.8 S 2738.0 2.8, 2745.8 6.1 S 2754.9 8.9, 2763.9 6.2 S 2772.7 4.0, 2781.4 6.4 S 2790.8 8.7, 2800.1 6.0 S 2809.3 3.9, 2818.4 6.3 S 2826.6 8.1, 2834.7 5.7 S 2844.0 3.7, 2853.3 6.3 S 2863.3 8.7, 2873.2 5.9 S 2881.9 3.0, 2890.6 6.3 S 2899.7 8.9, 2908.7 5.5 S 2916.6 3.6, 2924.4 6.3 S 2932.7 8.8, 2941.0 5.4 S 2948.6 3.6, 2956.3 6.2 S 2965.5 8.9, 2974.7 5.7 S 2983.5 3.3, 2992.3 6.0 S 3000.1 9.3, 2998.0 5.6' fill='none' stroke='%23ffffff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --vague-encre: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3000 12' preserveAspectRatio='xMinYMid slice'%3E%3Cpath d='M2 6 S 10.3 3.8, 18.6 6.2 S 26.3 8.8, 34.0 5.8 S 41.6 3.3, 49.3 5.4 S 57.9 8.1, 66.4 5.5 S 75.0 2.8, 83.6 5.5 S 91.6 8.9, 99.7 6.5 S 108.6 3.4, 117.6 6.6 S 125.2 9.2, 132.8 5.7 S 140.7 3.8, 148.5 5.8 S 158.1 8.3, 167.6 6.1 S 176.7 3.5, 185.8 6.1 S 193.5 8.1, 201.1 5.6 S 210.3 3.4, 219.5 5.8 S 228.5 8.6, 237.4 5.8 S 246.9 3.0, 256.4 5.7 S 265.3 8.7, 274.3 6.5 S 283.6 3.6, 292.9 6.6 S 300.7 8.6, 308.5 6.3 S 316.4 3.3, 324.3 5.4 S 333.4 9.1, 342.6 6.1 S 352.3 3.6, 362.0 6.2 S 371.0 8.8, 380.0 5.9 S 389.6 2.7, 399.2 6.0 S 408.3 8.1, 417.5 6.2 S 426.6 2.6, 435.7 6.4 S 443.9 8.5, 452.1 6.2 S 459.7 3.4, 467.3 5.6 S 475.1 8.1, 482.8 6.3 S 490.7 3.7, 498.5 5.9 S 508.2 8.1, 517.9 5.9 S 526.7 2.8, 535.6 6.4 S 545.3 8.4, 554.9 5.9 S 563.3 2.8, 571.7 6.5 S 579.6 8.2, 587.5 5.7 S 595.5 3.3, 603.6 6.1 S 611.8 8.0, 619.9 5.9 S 628.4 3.2, 636.8 6.5 S 646.0 8.7, 655.2 6.1 S 664.4 3.9, 673.6 6.5 S 683.1 9.2, 692.5 6.4 S 701.0 3.4, 709.5 5.5 S 718.6 8.1, 727.7 5.5 S 735.7 3.8, 743.7 5.8 S 751.3 8.0, 759.0 5.6 S 766.7 3.5, 774.5 5.4 S 784.2 8.9, 793.8 5.6 S 802.0 3.5, 810.1 5.8 S 817.9 9.2, 825.7 6.6 S 834.4 3.3, 843.1 5.5 S 850.8 8.5, 858.6 5.7 S 868.1 3.8, 877.7 5.4 S 887.6 8.7, 897.5 5.6 S 906.3 4.0, 915.2 6.0 S 925.1 9.2, 935.1 6.2 S 943.2 3.5, 951.4 5.6 S 960.8 8.7, 970.2 6.3 S 978.6 3.7, 986.9 6.4 S 996.8 9.2, 1006.8 6.4 S 1016.4 3.0, 1025.9 5.7 S 1034.7 8.5, 1043.5 5.4 S 1051.1 3.6, 1058.6 5.7 S 1067.9 9.3, 1077.1 5.9 S 1086.9 2.6, 1096.8 6.5 S 1105.2 8.3, 1113.6 5.7 S 1121.6 3.7, 1129.6 6.1 S 1139.3 9.2, 1149.1 6.0 S 1158.2 2.9, 1167.3 5.5 S 1176.5 9.3, 1185.7 6.3 S 1195.0 3.3, 1204.4 5.6 S 1213.9 8.5, 1223.3 6.4 S 1233.3 3.4, 1243.2 5.9 S 1253.1 9.0, 1262.9 5.6 S 1270.8 3.8, 1278.6 6.5 S 1288.1 8.2, 1297.6 6.4 S 1307.6 3.1, 1317.5 5.8 S 1326.4 8.2, 1335.3 5.4 S 1345.2 3.1, 1355.1 6.0 S 1364.9 8.6, 1374.8 6.4 S 1384.3 3.7, 1393.9 5.7 S 1402.1 8.3, 1410.4 6.1 S 1418.5 3.4, 1426.7 5.6 S 1436.4 8.5, 1446.2 5.9 S 1455.2 2.7, 1464.1 5.9 S 1473.9 8.7, 1483.7 6.0 S 1492.5 4.0, 1501.3 5.9 S 1509.3 8.0, 1517.3 6.4 S 1525.2 3.3, 1533.1 6.3 S 1542.0 8.5, 1550.9 6.0 S 1559.8 2.9, 1568.7 5.5 S 1577.6 8.3, 1586.5 5.7 S 1595.9 3.3, 1605.3 6.1 S 1614.7 9.3, 1624.1 5.9 S 1633.2 3.3, 1642.2 6.0 S 1651.4 8.6, 1660.7 6.0 S 1669.4 2.7, 1678.1 6.2 S 1687.7 9.3, 1697.4 5.7 S 1706.3 2.7, 1715.2 6.4 S 1723.1 8.2, 1730.9 5.9 S 1738.6 3.7, 1746.3 5.5 S 1755.5 9.1, 1764.6 6.5 S 1772.5 3.0, 1780.4 6.2 S 1788.3 9.2, 1796.1 6.6 S 1804.2 2.7, 1812.2 5.9 S 1820.9 9.4, 1829.7 6.4 S 1837.6 3.4, 1845.5 6.0 S 1853.8 8.3, 1862.2 5.8 S 1871.5 4.0, 1880.8 6.1 S 1889.4 8.0, 1898.0 5.8 S 1907.0 3.3, 1916.1 5.5 S 1926.1 9.1, 1936.0 6.6 S 1943.8 3.6, 1951.5 5.4 S 1961.0 8.4, 1970.4 5.6 S 1979.0 2.7, 1987.5 6.4 S 1995.7 8.2, 2003.8 6.5 S 2012.8 3.0, 2021.7 5.5 S 2029.3 9.0, 2037.0 5.9 S 2044.7 2.7, 2052.3 6.2 S 2061.8 8.1, 2071.3 6.4 S 2079.0 2.8, 2086.7 5.9 S 2095.0 8.8, 2103.4 6.5 S 2111.5 3.8, 2119.7 6.0 S 2127.8 8.2, 2135.9 5.6 S 2143.5 3.7, 2151.2 5.8 S 2159.4 9.1, 2167.7 5.7 S 2176.4 3.8, 2185.2 5.8 S 2192.7 8.4, 2200.3 5.4 S 2209.6 3.2, 2218.9 5.6 S 2227.6 9.3, 2236.3 5.5 S 2245.9 3.4, 2255.4 6.0 S 2265.0 8.6, 2274.6 6.0 S 2283.8 2.6, 2293.0 5.8 S 2302.6 9.0, 2312.2 6.2 S 2320.7 3.5, 2329.2 5.5 S 2337.0 8.1, 2344.9 6.3 S 2353.0 3.8, 2361.1 5.5 S 2370.7 9.2, 2380.3 6.2 S 2388.5 3.7, 2396.8 5.8 S 2405.4 8.2, 2414.0 5.9 S 2422.2 2.7, 2430.4 6.6 S 2439.2 8.3, 2448.1 6.6 S 2456.4 3.5, 2464.6 5.4 S 2473.1 8.7, 2481.6 6.0 S 2489.6 3.3, 2497.6 5.4 S 2505.7 8.1, 2513.9 5.9 S 2521.5 4.0, 2529.1 5.8 S 2537.2 8.8, 2545.3 6.0 S 2554.6 3.1, 2564.0 6.3 S 2573.7 8.5, 2583.4 5.8 S 2593.4 3.8, 2603.3 6.3 S 2612.4 8.1, 2621.5 6.4 S 2631.3 3.1, 2641.0 6.3 S 2650.5 8.2, 2660.1 6.0 S 2668.8 2.8, 2677.6 6.4 S 2687.1 8.8, 2696.7 6.5 S 2705.9 3.0, 2715.1 5.7 S 2722.7 8.2, 2730.3 5.8 S 2738.0 2.8, 2745.8 6.1 S 2754.9 8.9, 2763.9 6.2 S 2772.7 4.0, 2781.4 6.4 S 2790.8 8.7, 2800.1 6.0 S 2809.3 3.9, 2818.4 6.3 S 2826.6 8.1, 2834.7 5.7 S 2844.0 3.7, 2853.3 6.3 S 2863.3 8.7, 2873.2 5.9 S 2881.9 3.0, 2890.6 6.3 S 2899.7 8.9, 2908.7 5.5 S 2916.6 3.6, 2924.4 6.3 S 2932.7 8.8, 2941.0 5.4 S 2948.6 3.6, 2956.3 6.2 S 2965.5 8.9, 2974.7 5.7 S 2983.5 3.3, 2992.3 6.0 S 3000.1 9.3, 2998.0 5.6' fill='none' stroke='%231d1d1b' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --vague-bleu: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 3000 12' preserveAspectRatio='xMinYMid slice'%3E%3Cpath d='M2 6 S 10.3 3.8, 18.6 6.2 S 26.3 8.8, 34.0 5.8 S 41.6 3.3, 49.3 5.4 S 57.9 8.1, 66.4 5.5 S 75.0 2.8, 83.6 5.5 S 91.6 8.9, 99.7 6.5 S 108.6 3.4, 117.6 6.6 S 125.2 9.2, 132.8 5.7 S 140.7 3.8, 148.5 5.8 S 158.1 8.3, 167.6 6.1 S 176.7 3.5, 185.8 6.1 S 193.5 8.1, 201.1 5.6 S 210.3 3.4, 219.5 5.8 S 228.5 8.6, 237.4 5.8 S 246.9 3.0, 256.4 5.7 S 265.3 8.7, 274.3 6.5 S 283.6 3.6, 292.9 6.6 S 300.7 8.6, 308.5 6.3 S 316.4 3.3, 324.3 5.4 S 333.4 9.1, 342.6 6.1 S 352.3 3.6, 362.0 6.2 S 371.0 8.8, 380.0 5.9 S 389.6 2.7, 399.2 6.0 S 408.3 8.1, 417.5 6.2 S 426.6 2.6, 435.7 6.4 S 443.9 8.5, 452.1 6.2 S 459.7 3.4, 467.3 5.6 S 475.1 8.1, 482.8 6.3 S 490.7 3.7, 498.5 5.9 S 508.2 8.1, 517.9 5.9 S 526.7 2.8, 535.6 6.4 S 545.3 8.4, 554.9 5.9 S 563.3 2.8, 571.7 6.5 S 579.6 8.2, 587.5 5.7 S 595.5 3.3, 603.6 6.1 S 611.8 8.0, 619.9 5.9 S 628.4 3.2, 636.8 6.5 S 646.0 8.7, 655.2 6.1 S 664.4 3.9, 673.6 6.5 S 683.1 9.2, 692.5 6.4 S 701.0 3.4, 709.5 5.5 S 718.6 8.1, 727.7 5.5 S 735.7 3.8, 743.7 5.8 S 751.3 8.0, 759.0 5.6 S 766.7 3.5, 774.5 5.4 S 784.2 8.9, 793.8 5.6 S 802.0 3.5, 810.1 5.8 S 817.9 9.2, 825.7 6.6 S 834.4 3.3, 843.1 5.5 S 850.8 8.5, 858.6 5.7 S 868.1 3.8, 877.7 5.4 S 887.6 8.7, 897.5 5.6 S 906.3 4.0, 915.2 6.0 S 925.1 9.2, 935.1 6.2 S 943.2 3.5, 951.4 5.6 S 960.8 8.7, 970.2 6.3 S 978.6 3.7, 986.9 6.4 S 996.8 9.2, 1006.8 6.4 S 1016.4 3.0, 1025.9 5.7 S 1034.7 8.5, 1043.5 5.4 S 1051.1 3.6, 1058.6 5.7 S 1067.9 9.3, 1077.1 5.9 S 1086.9 2.6, 1096.8 6.5 S 1105.2 8.3, 1113.6 5.7 S 1121.6 3.7, 1129.6 6.1 S 1139.3 9.2, 1149.1 6.0 S 1158.2 2.9, 1167.3 5.5 S 1176.5 9.3, 1185.7 6.3 S 1195.0 3.3, 1204.4 5.6 S 1213.9 8.5, 1223.3 6.4 S 1233.3 3.4, 1243.2 5.9 S 1253.1 9.0, 1262.9 5.6 S 1270.8 3.8, 1278.6 6.5 S 1288.1 8.2, 1297.6 6.4 S 1307.6 3.1, 1317.5 5.8 S 1326.4 8.2, 1335.3 5.4 S 1345.2 3.1, 1355.1 6.0 S 1364.9 8.6, 1374.8 6.4 S 1384.3 3.7, 1393.9 5.7 S 1402.1 8.3, 1410.4 6.1 S 1418.5 3.4, 1426.7 5.6 S 1436.4 8.5, 1446.2 5.9 S 1455.2 2.7, 1464.1 5.9 S 1473.9 8.7, 1483.7 6.0 S 1492.5 4.0, 1501.3 5.9 S 1509.3 8.0, 1517.3 6.4 S 1525.2 3.3, 1533.1 6.3 S 1542.0 8.5, 1550.9 6.0 S 1559.8 2.9, 1568.7 5.5 S 1577.6 8.3, 1586.5 5.7 S 1595.9 3.3, 1605.3 6.1 S 1614.7 9.3, 1624.1 5.9 S 1633.2 3.3, 1642.2 6.0 S 1651.4 8.6, 1660.7 6.0 S 1669.4 2.7, 1678.1 6.2 S 1687.7 9.3, 1697.4 5.7 S 1706.3 2.7, 1715.2 6.4 S 1723.1 8.2, 1730.9 5.9 S 1738.6 3.7, 1746.3 5.5 S 1755.5 9.1, 1764.6 6.5 S 1772.5 3.0, 1780.4 6.2 S 1788.3 9.2, 1796.1 6.6 S 1804.2 2.7, 1812.2 5.9 S 1820.9 9.4, 1829.7 6.4 S 1837.6 3.4, 1845.5 6.0 S 1853.8 8.3, 1862.2 5.8 S 1871.5 4.0, 1880.8 6.1 S 1889.4 8.0, 1898.0 5.8 S 1907.0 3.3, 1916.1 5.5 S 1926.1 9.1, 1936.0 6.6 S 1943.8 3.6, 1951.5 5.4 S 1961.0 8.4, 1970.4 5.6 S 1979.0 2.7, 1987.5 6.4 S 1995.7 8.2, 2003.8 6.5 S 2012.8 3.0, 2021.7 5.5 S 2029.3 9.0, 2037.0 5.9 S 2044.7 2.7, 2052.3 6.2 S 2061.8 8.1, 2071.3 6.4 S 2079.0 2.8, 2086.7 5.9 S 2095.0 8.8, 2103.4 6.5 S 2111.5 3.8, 2119.7 6.0 S 2127.8 8.2, 2135.9 5.6 S 2143.5 3.7, 2151.2 5.8 S 2159.4 9.1, 2167.7 5.7 S 2176.4 3.8, 2185.2 5.8 S 2192.7 8.4, 2200.3 5.4 S 2209.6 3.2, 2218.9 5.6 S 2227.6 9.3, 2236.3 5.5 S 2245.9 3.4, 2255.4 6.0 S 2265.0 8.6, 2274.6 6.0 S 2283.8 2.6, 2293.0 5.8 S 2302.6 9.0, 2312.2 6.2 S 2320.7 3.5, 2329.2 5.5 S 2337.0 8.1, 2344.9 6.3 S 2353.0 3.8, 2361.1 5.5 S 2370.7 9.2, 2380.3 6.2 S 2388.5 3.7, 2396.8 5.8 S 2405.4 8.2, 2414.0 5.9 S 2422.2 2.7, 2430.4 6.6 S 2439.2 8.3, 2448.1 6.6 S 2456.4 3.5, 2464.6 5.4 S 2473.1 8.7, 2481.6 6.0 S 2489.6 3.3, 2497.6 5.4 S 2505.7 8.1, 2513.9 5.9 S 2521.5 4.0, 2529.1 5.8 S 2537.2 8.8, 2545.3 6.0 S 2554.6 3.1, 2564.0 6.3 S 2573.7 8.5, 2583.4 5.8 S 2593.4 3.8, 2603.3 6.3 S 2612.4 8.1, 2621.5 6.4 S 2631.3 3.1, 2641.0 6.3 S 2650.5 8.2, 2660.1 6.0 S 2668.8 2.8, 2677.6 6.4 S 2687.1 8.8, 2696.7 6.5 S 2705.9 3.0, 2715.1 5.7 S 2722.7 8.2, 2730.3 5.8 S 2738.0 2.8, 2745.8 6.1 S 2754.9 8.9, 2763.9 6.2 S 2772.7 4.0, 2781.4 6.4 S 2790.8 8.7, 2800.1 6.0 S 2809.3 3.9, 2818.4 6.3 S 2826.6 8.1, 2834.7 5.7 S 2844.0 3.7, 2853.3 6.3 S 2863.3 8.7, 2873.2 5.9 S 2881.9 3.0, 2890.6 6.3 S 2899.7 8.9, 2908.7 5.5 S 2916.6 3.6, 2924.4 6.3 S 2932.7 8.8, 2941.0 5.4 S 2948.6 3.6, 2956.3 6.2 S 2965.5 8.9, 2974.7 5.7 S 2983.5 3.3, 2992.3 6.0 S 3000.1 9.3, 2998.0 5.6' fill='none' stroke='%234060e4' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --vague-duree: 0.45s;
}

/* =========================================================
   1. Soulignés ondulés : ils se dessinent de gauche à droite au survol
   ========================================================= */
.tf-prose a,
.tf-lien,
.tf-lien-tout,
.tf-lien-titre,
.tf-pied a:not(.tf-btn):not(.tf-pied__reseau),
.tf-etiquette__texte,
.tf-theme__titre,
.tf-carte-article__titre,
.tf-contact__email,
.tf-souligne {
  text-decoration: none;
  background-image: var(--vague, var(--vague-jaune));
  background-repeat: no-repeat;
  background-position: 0 100%;
  background-size: 0% 9px;
  transition: background-size var(--vague-duree) cubic-bezier(0.45, 0.05, 0.25, 1), color 0.2s ease;
}
/* Les liens dans le texte : en couleur et en gras, sans soulignage tant qu'on ne les survole pas. */
.tf-prose a, .tf-lien { color: var(--bleu-fonce); font-weight: 700; padding-bottom: 5px; }
.tf-lien-tout { padding-bottom: 7px; border-bottom: 0; }
.tf-lien-titre, .tf-carte-article__titre { padding-bottom: 5px; }
.tf-pied a:not(.tf-btn):not(.tf-pied__reseau) { padding-bottom: 4px; }
.tf-etiquette__texte { --vague: var(--vague-blanc); }
.tf-ton--jaune .tf-etiquette__texte { --vague: var(--vague-encre); }
.tf-theme__titre { padding-bottom: 8px; }

.tf-prose a:hover, .tf-prose a:focus-visible,
.tf-lien:hover, .tf-lien:focus-visible,
.tf-lien-tout:hover, .tf-lien-tout:focus-visible,
.tf-lien-titre:hover, .tf-lien-titre:focus-visible,
.tf-pied a:not(.tf-btn):not(.tf-pied__reseau):hover, .tf-pied a:not(.tf-btn):not(.tf-pied__reseau):focus-visible,
a.tf-carte-photo:hover .tf-etiquette__texte, a.tf-carte-photo:focus-visible .tf-etiquette__texte,
.tf-theme__lien:hover .tf-theme__titre, .tf-theme__lien:focus-visible .tf-theme__titre,
.tf-carte-article__lien:hover .tf-carte-article__titre, .tf-carte-article__lien:focus-visible .tf-carte-article__titre,
.tf-contact__email:hover,
a.tf-souligne:hover, a:hover > .tf-souligne {
  background-size: 100% 9px;
  text-decoration: none;
}
.tf-prose a:hover, .tf-lien:hover { color: var(--bleu); }
.tf-lien-tout:hover { color: var(--bleu); }
.tf-carte-article__lien:hover .tf-carte-article__titre { color: var(--encre); }
/* Le lien vers la carte IGN garde son trait, ondulé lui aussi. */
.tf-carte-ign__lien .tf-lien { background-size: 100% 9px; }
.tf-pied a:not(.tf-btn):hover, .tf-pied a:not(.tf-btn):focus-visible { text-decoration: none; }
/* Les boutons ne sont jamais soulignés (pied de page compris). */
.tf-btn, .tf-btn:hover, .tf-pied .tf-btn:hover, .tf-pied .tf-btn:focus-visible { text-decoration: none; background-image: none; }
@media (prefers-reduced-motion: reduce) { :root { --vague-duree: 0s; } }

/* =========================================================
   2. Boutons : survol d'origine du design system (léger redressement)
   ========================================================= */

/* =========================================================
   3. En-tête : logo plus petit, noir puis bleu au survol, sous-menus
   ========================================================= */
.tf-entete { padding-block: 10px; }
.tf-entete[data-replie] { padding-block: 6px; }
.tf-entete__logo { border-radius: 50%; }
.tf-entete__logo-img {
  display: block;
  width: 92px;
  height: 92px;
  background-color: var(--encre);
  -webkit-mask: url("../img/logos/terre-fragile-logo.svg") center / contain no-repeat;
  mask: url("../img/logos/terre-fragile-logo.svg") center / contain no-repeat;
  transition: background-color 0.25s ease, width 0.2s ease, height 0.2s ease, rotate 0.3s ease;
}
.tf-entete__logo:hover .tf-entete__logo-img,
.tf-entete__logo:focus-visible .tf-entete__logo-img { background-color: var(--bleu); rotate: -4deg; }
.tf-entete[data-replie] .tf-entete__logo-img { width: 64px; height: 64px; }

.tf-nav__item { position: relative; display: flex; align-items: center; }
.tf-entete .tf-nav .tf-nav__lien[aria-current] { background-position: left bottom; background-size: 100% 9px; background-repeat: no-repeat; }
.tf-nav__deplier {
  appearance: none;
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 28px;
  margin: 0 0 4px 1px;
  padding: 0;
  border: 0;
  border-radius: 6px;
  background: none;
  color: var(--encre);
  cursor: pointer;
}
.tf-nav__deplier svg { width: 11px; height: 8px; transition: rotate 0.2s ease; }
.tf-nav__item--parent:hover .tf-nav__deplier svg,
.tf-nav__deplier[aria-expanded="true"] svg { rotate: 180deg; }
.tf-nav__item--parent:hover .tf-nav__deplier, .tf-nav__deplier:hover { color: var(--bleu); }

.tf-entete .tf-nav .tf-nav__sous {
  position: absolute;
  top: calc(100% + 4px);
  left: -20px;
  z-index: 40;
  display: block;
  min-width: 270px;
  margin: 0;
  padding: 12px 8px;
  list-style: none;
  background: var(--papier-blanc);
  border-radius: 14px 6px 16px 8px / 8px 16px 6px 14px;
  box-shadow: 0 2px 3px rgba(40, 38, 34, 0.1), 0 16px 34px rgba(40, 38, 34, 0.16);
  rotate: -0.6deg;
  opacity: 0;
  visibility: hidden;
  translate: 0 10px;
  transition: opacity 0.18s ease, translate 0.18s ease, visibility 0s linear 0.18s;
}
/* Pont invisible entre le lien et le sous-menu, pour ne pas le perdre en descendant la souris. */
.tf-entete .tf-nav .tf-nav__sous::before { content: ""; position: absolute; left: 0; right: 0; top: -16px; height: 16px; }
.tf-nav__item--parent:hover > .tf-nav__sous,
.tf-nav__item--parent:focus-within > .tf-nav__sous,
.tf-nav__item--parent[data-ouvert] > .tf-nav__sous {
  opacity: 1;
  visibility: visible;
  translate: 0 0;
  transition-delay: 0s;
}
.tf-entete .tf-nav .tf-nav__sous a {
  display: block;
  padding: 9px 14px;
  border-radius: 9px 4px 10px 5px;
  font-size: 15.5px;
  font-weight: 700;
  line-height: 1.3;
  color: var(--encre);
  background: none;
  transition: background-color 0.15s ease, color 0.15s ease, padding 0.15s ease;
}
.tf-entete .tf-nav .tf-nav__sous a:hover,
.tf-entete .tf-nav .tf-nav__sous a:focus-visible { background-color: var(--teinte); color: var(--bleu); padding-left: 20px; }
.tf-entete .tf-nav .tf-nav__sous a[aria-current] { color: var(--bleu); font-weight: 800; }
.tf-entete .tf-nav .tf-nav__sous li:first-child { margin-bottom: 4px; padding-bottom: 4px; border-bottom: 1.5px dashed var(--papier-ombre); }

@media (max-width: 1180px) {
  .tf-entete__logo-img { width: 84px; height: 84px; }
}
@media (max-width: 1020px) {
  .tf-entete__logo-img { width: 72px; height: 72px; }
  .tf-entete[data-replie] .tf-entete__logo-img { width: 60px; height: 60px; }
  .tf-entete .tf-nav[data-ouvert] .tf-nav__liste { max-height: calc(100vh - 110px); overflow-y: auto; }
  .tf-nav__item { flex-wrap: wrap; justify-content: space-between; }
  .tf-nav__item .tf-nav__lien { flex: 1; }
  .tf-nav__deplier { width: 40px; height: 40px; margin: 0; }
  .tf-nav__item--parent:hover .tf-nav__deplier svg { rotate: 0deg; }
  .tf-nav__deplier[aria-expanded="true"] svg { rotate: 180deg; }
  .tf-entete .tf-nav .tf-nav__sous,
  .tf-entete .tf-nav[data-ouvert] .tf-nav__sous {
    position: static;
    display: none;
    flex-basis: 100%;
    min-width: 0;
    padding: 0 0 8px 12px;
    background: none;
    box-shadow: none;
    rotate: 0deg;
    opacity: 1;
    visibility: visible;
    translate: 0 0;
  }
  .tf-entete .tf-nav .tf-nav__sous::before { display: none; }
  .tf-entete .tf-nav .tf-nav__item[data-ouvert] > .tf-nav__sous { display: block; }
  .tf-entete .tf-nav .tf-nav__sous li:first-child { border-bottom: 0; margin: 0; padding: 0; }
}
@media (max-width: 640px) {
  .tf-entete__logo-img, .tf-entete[data-replie] .tf-entete__logo-img { width: 58px; height: 58px; }
}

/* =========================================================
   4. Pied de page : icônes Facebook et Instagram côte à côte
   ========================================================= */
.tf-pied .tf-pied__reseaux { display: flex; gap: var(--espace-3); }
.tf-pied__reseaux a:hover, .tf-pied__reseaux a:focus-visible { background-color: var(--jaune); }
.tf-pied__reseaux a:hover svg, .tf-pied__reseaux a:focus-visible svg { fill: var(--encre); }

/* =========================================================
   5. Corrections ponctuelles
   ========================================================= */
/* Hero : plus d'air entre le titre et le texte */
.tf-hero__chapeau { margin-top: var(--espace-6); }
.tf-hero + .tf-section:not(.tf-bande) { padding-top: var(--espace-7); }
/* « À la une » : même espace sous l'étiquette pour les petites cartes que pour la grande */
.tf-alaune__cote .tf-alaune__resume, .tf-grille-photos__item .tf-alaune__resume { margin-top: var(--espace-7); }
.tf-alaune__cote { gap: var(--espace-8); }
/* Frise : le point prend la couleur du texte de la date */
.tf-frise__etape::before { background: var(--ton-encre, var(--ton-trait)); }
/* Titres en jaune de la charte quand on le choisit */
.tf-c-jaune, .tf-titre.tf-c-jaune { color: var(--jaune); }
/* Contacts : appel final avec bouton à droite */
.tf-contacts__appel { display: flex; align-items: center; gap: var(--espace-5) var(--espace-6); flex-wrap: wrap; margin-top: var(--espace-5); }
.tf-contacts__appel .tf-manuscrit { margin: 0; font-size: 30px; }
.tf-contacts__suite > :last-child { margin-bottom: 0; }

/* Rangée : formats de photo */
.tf-rangee__photo--portrait img { aspect-ratio: 4 / 5; }
.tf-rangee__photo--libre img { aspect-ratio: auto; height: auto; }
.tf-rangee--portrait { grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.85fr); }
.tf-rangee--portrait.tf-rangee--inverse { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.25fr); }
.tf-rangee--portrait:not(.tf-rangee--inverse) .tf-rangee__photo { order: 2; }
.tf-rangee__photo figcaption { margin-top: var(--espace-4); text-align: center; color: var(--texte-doux); }
.tf-surtitre-dessine { margin: 0 0 var(--espace-3); font-family: var(--font-titre); font-weight: 400; font-size: 24px; color: var(--bleu); rotate: -1.5deg; transform-origin: left; }

/* =========================================================
   6. Nouvelles sections
   ========================================================= */
/* Fiches (astuces, étapes) */
.tf-fiches { list-style: none; margin: 0; padding: var(--espace-3) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espace-6); counter-reset: fiche; }
.tf-fiches--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tf-fiches--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.tf-fiche-note {
  position: relative;
  padding: var(--espace-6) var(--espace-5) var(--espace-5);
  background: var(--papier-blanc);
  border-radius: 12px 5px 14px 6px / 6px 14px 5px 12px;
  box-shadow: var(--ombre-feuille);
  rotate: -0.6deg;
}
.tf-fiche-note:nth-child(even) { rotate: 0.7deg; }
.tf-fiche-note:nth-child(3n) { rotate: -0.3deg; }
.tf-fiche-note__titre { font-size: 23px; line-height: 1.2; margin: 0 0 var(--espace-3); color: var(--ton-encre); }
.tf-fiche-note .tf-prose { max-width: none; }
.tf-fiche-note .tf-prose > :last-child { margin-bottom: 0; }
.tf-fiche-note__dessin { width: 76px; height: 76px; object-fit: contain; margin: calc(var(--espace-7) * -1) 0 var(--espace-3); rotate: -4deg; }
.tf-fiches--numeros .tf-fiche-note { padding-top: var(--espace-7); }
.tf-fiche-note__numero {
  position: absolute;
  top: -26px;
  left: 22px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  background: var(--papier-blanc);
  border: 2.5px solid var(--ton-trait);
  border-radius: 58% 42% 51% 49% / 45% 56% 44% 55%;
  rotate: -5deg;
  font-family: var(--font-titre);
  font-weight: 900;
  font-size: 30px;
  line-height: 1;
  color: var(--ton-encre);
}
.tf-fiche-note:nth-child(even) .tf-fiche-note__numero { rotate: 4deg; }
.tf-fiches--numeros { padding-top: var(--espace-6); row-gap: var(--espace-8); }
.tf-fiches__suite { margin-top: var(--espace-7); }

/* Chiffres clés */
.tf-points { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: var(--espace-6); text-align: center; }
.tf-point { display: flex; flex-direction: column; align-items: center; gap: var(--espace-3); }
.tf-point__valeur {
  display: grid;
  place-items: center;
  width: 128px;
  height: 128px;
  padding: 8px;
  box-sizing: border-box;
  background: var(--papier-blanc);
  border: 3px solid var(--ton-trait);
  border-radius: 58% 42% 51% 49% / 45% 56% 44% 55%;
  rotate: -4deg;
  font-family: var(--font-titre);
  font-weight: 900;
  font-size: 34px;
  line-height: 1;
  color: var(--ton-encre);
  text-align: center;
}
.tf-point:nth-child(even) .tf-point__valeur { rotate: 3deg; border-radius: 45% 55% 47% 53% / 55% 44% 56% 45%; }
.tf-point__texte { font-weight: 700; color: var(--encre); max-width: 22ch; line-height: 1.4; }

/* Citation */
.tf-citation { margin: 0; display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: var(--espace-7); align-items: center; max-width: 980px; margin-inline: auto; }
.tf-citation--seule { grid-template-columns: 1fr; max-width: 820px; }
.tf-citation__portrait { position: relative; width: 200px; height: 200px; justify-self: center; }
.tf-citation__portrait img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; filter: grayscale(1) contrast(1.05); }
.tf-citation__portrait::after { content: ""; position: absolute; inset: -10px; border: 2.5px solid var(--ton-trait); border-radius: 52% 48% 55% 45% / 47% 55% 45% 53%; rotate: -8deg; }
.tf-citation__feuille { padding: var(--espace-7) var(--espace-7) var(--espace-6); }
.tf-citation__texte { margin: 0 0 var(--espace-5); font-size: 27px; line-height: 1.4; color: var(--encre); }
.tf-citation__auteur { display: flex; flex-direction: column; font-size: 16px; }
.tf-citation__auteur strong { font-weight: 800; color: var(--bleu); font-size: 18px; }
.tf-citation__auteur span { color: var(--texte-doux); }

/* Vidéos */
.tf-videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espace-7) var(--espace-6); }
.tf-videos--1 { grid-template-columns: minmax(0, 860px); justify-content: center; }
.tf-videos--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tf-video { margin: 0; }
.tf-video__vignette, .tf-video__iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
  border-radius: 12px 5px 14px 6px / 6px 14px 5px 12px;
  box-shadow: var(--ombre-feuille);
}
.tf-video__vignette {
  position: relative;
  display: grid;
  place-items: center;
  padding: var(--espace-5);
  cursor: pointer;
  background: var(--ton-trait) var(--grain) 0 0 / 400px 400px;
  background-blend-mode: multiply;
  background-size: cover;
  color: var(--papier-blanc);
  overflow: hidden;
  rotate: -0.6deg;
  transition: rotate 0.2s ease, translate 0.2s ease, box-shadow 0.2s ease;
}
.tf-video:nth-child(even) .tf-video__vignette { rotate: 0.6deg; }
.tf-video__vignette:hover, .tf-video__vignette:focus-visible { rotate: 0deg; translate: 0 -3px; box-shadow: 0 4px 6px rgba(40, 38, 34, 0.2), 0 14px 26px rgba(40, 38, 34, 0.22); }
.tf-video__lecture { display: grid; place-items: center; width: 76px; height: 76px; border-radius: 52% 48% 55% 45% / 47% 55% 45% 53%; background: var(--papier-blanc); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18); transition: scale 0.2s ease; }
.tf-video__lecture svg { width: 34px; height: 34px; fill: var(--ton-encre, var(--bleu)); margin-left: 4px; }
.tf-ton--jaune .tf-video__lecture svg { fill: var(--encre); }
.tf-video__vignette:hover .tf-video__lecture { scale: 1.08; }
.tf-video__titre-vignette { position: absolute; left: var(--espace-5); bottom: var(--espace-4); right: var(--espace-5); font-family: var(--font-titre); font-weight: 900; font-size: 24px; line-height: 1.15; text-align: left; color: var(--papier-blanc); }
.tf-ton--jaune .tf-video__titre-vignette { color: var(--encre); }
.tf-video figcaption { margin-top: var(--espace-5); }
.tf-video__titre { font-size: 24px; margin: 0 0 var(--espace-2); }
.tf-video figcaption .texte-petit p { margin: 0; font-style: italic; color: var(--texte-doux); }

/* Galerie */
.tf-galerie { list-style: none; margin: 0; padding: var(--espace-4) 0 0; columns: 3 260px; column-gap: var(--espace-7); }
.tf-galerie__item { break-inside: avoid; margin-bottom: var(--espace-7); }
.tf-galerie__item figure { margin: 0; }
.tf-galerie__item img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: var(--ombre-feuille); rotate: -1deg; }
.tf-galerie__item:nth-child(even) img { rotate: 1.2deg; }
.tf-galerie__item figcaption { margin-top: var(--espace-3); color: var(--texte-doux); }

/* HelloAsso */
.tf-helloasso { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--espace-8); align-items: start; }
.tf-helloasso--seul { grid-template-columns: minmax(0, 820px); justify-content: center; }
.tf-helloasso__texte { position: sticky; top: 130px; }
.tf-helloasso__texte .titre-2 { margin-bottom: var(--espace-5); }
.tf-helloasso__cadre { padding: var(--espace-5); }
.tf-helloasso__iframe { display: block; width: 100%; border: 0; min-height: 520px; background: var(--papier-blanc); }
.tf-helloasso__note { margin: var(--espace-4) 0 0; text-align: center; color: var(--texte-doux); }

@media (max-width: 960px) {
  .tf-fiches, .tf-fiches--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tf-rangee--portrait, .tf-rangee--portrait.tf-rangee--inverse { grid-template-columns: 1fr; }
  .tf-rangee--portrait .tf-rangee__photo { order: 0; max-width: 420px; }
  .tf-videos { grid-template-columns: 1fr 1fr; }
  .tf-helloasso { grid-template-columns: 1fr; gap: var(--espace-6); }
  .tf-helloasso__texte { position: static; }
}
@media (max-width: 640px) {
  .tf-fiches, .tf-fiches--2, .tf-fiches--4, .tf-videos, .tf-videos--2 { grid-template-columns: 1fr; }
  .tf-citation { grid-template-columns: 1fr; gap: var(--espace-6); }
  .tf-citation__portrait { width: 150px; height: 150px; }
  .tf-citation__feuille { padding: var(--espace-6) var(--espace-5) var(--espace-5); }
  .tf-citation__texte { font-size: 22px; }
  .tf-point__valeur { width: 108px; height: 108px; font-size: 28px; }
  .tf-helloasso__cadre { padding: var(--espace-3); }
  .tf-contacts__appel .tf-manuscrit { font-size: 24px; }
}

/* Contact : les coordonnées sur une feuille déchirée, comme le formulaire */
.tf-contact-page__coordonnees { display: block; padding: var(--espace-7) var(--espace-6) var(--espace-6); margin-top: var(--espace-5); }
.tf-contact-page__coordonnees > .titre-3 { margin: 0 0 var(--espace-4); }
.tf-contact-page__coordonnees .tf-contact-carte { padding: var(--espace-4) 0; background: none; border: 0; border-radius: 0; box-shadow: none; rotate: 0deg; border-bottom: 1.5px dashed var(--papier-ombre); }
.tf-contact-page__coordonnees .tf-contact-carte:last-of-type { border-bottom: 0; }
.tf-contact-page__coordonnees .tf-contact-carte__titre { font-size: 23px; }
.tf-contact-page__coordonnees .tf-contact-page__reseaux { margin-top: var(--espace-4); }
.tf-contact-carte__texte .tf-lien { word-break: break-word; }

/* =========================================================
   7. Articles, événements, produits
   ========================================================= */
.tf-fil { margin: 0 0 var(--espace-6); }
.tf-lien-tout--retour::after { content: none; }
.tf-lien-tout--retour::before { content: "← "; }
.tf-pastille { display: inline-block; padding: 3px 12px 4px; margin-right: var(--espace-3); border-radius: 5px 12px 4px 10px; background: var(--ton-fond, var(--ton-trait)); color: var(--ton-texte, var(--papier-blanc)); font-weight: 800; font-size: 14px; letter-spacing: 0.02em; rotate: -2deg; }
.tf-ton--vert .tf-pastille, .tf-pastille.tf-ton--vert { background: var(--vert-fonce); }

/* Article : texte à gauche, photo posée à droite (elle suit la lecture) */
.tf-article { padding-top: var(--espace-6); }
.tf-article__grille { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.8fr); grid-template-rows: auto 1fr; column-gap: var(--espace-8); align-items: start; }
.tf-article__grille--sans-photo { grid-template-columns: minmax(0, 760px); }
.tf-article__tete { grid-column: 1; }
.tf-article__photo { grid-column: 2; grid-row: 1 / span 2; margin: 0; position: sticky; top: 130px; padding-top: var(--espace-4); }
.tf-article__corps { grid-column: 1; max-width: 700px; }
.tf-article__meta { display: flex; align-items: center; flex-wrap: wrap; gap: var(--espace-2); margin: 0 0 var(--espace-4); color: var(--texte-doux); font-size: 15px; }
.tf-article__titre { font-size: 46px; line-height: 1.08; margin: 0 0 var(--espace-6); }
.tf-article__corps > p:first-child { font-size: 20px; line-height: 1.6; color: var(--encre); }
.tf-polaroid { display: block; padding: 12px 12px 40px; background: var(--papier-blanc); box-shadow: var(--ombre-feuille); rotate: 1.5deg; }
.tf-polaroid img { display: block; width: 100%; height: auto; max-height: 64vh; object-fit: contain; }
.tf-article__corps img { max-width: min(100%, 560px); padding: 10px 10px 28px; background: var(--papier-blanc); border-radius: 2px; rotate: -0.8deg; margin-inline: auto; }
.tf-article__corps p:has(> img + img), .tf-article__corps p:has(> a > img) { display: flex; flex-wrap: wrap; gap: var(--espace-5); }
.tf-article__corps p:has(> img + img) img { flex: 1 1 240px; max-width: calc(50% - var(--espace-5)); }
.tf-article__corps iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--rayon-m); box-shadow: var(--ombre-feuille); }
.tf-article__autres { margin-top: var(--espace-6); }

/* Flèches précédent / suivant : sur les côtés de l'écran quand il y a la place, sinon sous le contenu */
.tf-suivants { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espace-5); margin-top: var(--espace-8); }
.tf-suivant { display: flex; align-items: center; gap: var(--espace-4); padding: var(--espace-4) var(--espace-5); color: var(--encre); text-decoration: none; background: var(--papier-blanc); border-radius: 12px 5px 14px 6px / 6px 14px 5px 12px; box-shadow: var(--ombre-feuille); transition: translate 0.2s ease, box-shadow 0.2s ease; }
.tf-suivant--suiv { grid-column: 2; justify-content: flex-end; text-align: right; }
.tf-suivant:hover, .tf-suivant:focus-visible { translate: 0 -3px; box-shadow: 0 4px 6px rgba(40, 38, 34, 0.16), 0 14px 26px rgba(40, 38, 34, 0.18); }
.tf-suivant__fleche { flex: none; display: grid; place-items: center; width: 54px; height: 54px; color: var(--papier-blanc); background: var(--bleu); border-radius: 58% 42% 51% 49% / 45% 56% 44% 55%; box-shadow: var(--ombre-bouton); transition: background-color 0.2s ease, rotate 0.2s ease; }
.tf-suivant--suiv .tf-suivant__fleche { border-radius: 45% 55% 47% 53% / 55% 44% 56% 45%; }
.tf-suivant__fleche svg { width: 24px; height: 24px; }
.tf-suivant:hover .tf-suivant__fleche { background: var(--bleu-fonce); rotate: -6deg; }
.tf-suivant__texte { display: flex; flex-direction: column; min-width: 0; }
.tf-suivant__libelle { font-size: 13px; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--texte-doux); }
.tf-suivant__titre { font-family: var(--font-titre); font-weight: 900; font-size: 19px; line-height: 1.2; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 1300px) {
  .tf-suivants { display: block; margin: 0; }
  .tf-suivant { position: fixed; top: 50%; z-index: 20; padding: 0; background: none; box-shadow: none; translate: 0 -50%; }
  .tf-suivant--prec { left: 22px; }
  .tf-suivant--suiv { right: 22px; }
  .tf-suivant:hover, .tf-suivant:focus-visible { translate: 0 -50%; box-shadow: none; }
  .tf-suivant__fleche { width: 58px; height: 58px; }
  /* Le titre apparaît au survol, sur une étiquette de papier */
  .tf-suivant__texte {
    position: absolute;
    top: 50%;
    width: 260px;
    padding: var(--espace-3) var(--espace-4);
    background: var(--papier-blanc);
    border-radius: 10px 4px 12px 5px / 5px 12px 4px 10px;
    box-shadow: 0 2px 3px rgba(40, 38, 34, 0.1), 0 12px 26px rgba(40, 38, 34, 0.16);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, translate 0.2s ease, visibility 0s linear 0.2s;
  }
  .tf-suivant--prec .tf-suivant__texte { left: 72px; translate: -8px -50%; text-align: left; }
  .tf-suivant--suiv .tf-suivant__texte { right: 72px; translate: 8px -50%; }
  .tf-suivant:hover .tf-suivant__texte, .tf-suivant:focus-visible .tf-suivant__texte { opacity: 1; visibility: visible; translate: 0 -50%; transition-delay: 0s; }
}

/* Événement : photo, puis texte et infos pratiques côte à côte */
.tf-evenement-page { padding-top: var(--espace-6); }
.tf-evenement-page .tf-fiche { max-width: none; }
.tf-evenement--fiche { max-width: 980px; margin-bottom: var(--espace-6); }
.tf-fiche__photo { margin: 0 0 var(--espace-7); }
.tf-fiche__photo .tf-fiche__image { display: block; width: auto; max-width: 100%; max-height: 560px; margin: 0; border-radius: 4px; box-shadow: var(--ombre-feuille); }
.tf-fiche__grille { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr); gap: var(--espace-8); align-items: start; }
.tf-fiche__texte { max-width: 700px; }
.tf-fiche__texte > p:first-child { font-size: 20px; line-height: 1.6; color: var(--encre); }
.tf-fiche__texte:empty { display: none; }
.tf-fiche__infos { padding: var(--espace-6) var(--espace-6) var(--espace-5); }
.tf-fiche__infos-titre { font-size: 26px; margin: 0 0 var(--espace-4); color: var(--bleu); }
.tf-infos { margin: 0 0 var(--espace-5); }
.tf-infos__ligne { display: grid; grid-template-columns: 76px 1fr; gap: var(--espace-3); padding: var(--espace-3) 0; border-bottom: 1.5px dashed var(--papier-ombre); }
.tf-infos__ligne:last-child { border-bottom: 0; }
.tf-infos dt { font-weight: 800; color: var(--encre); }
.tf-infos dd { margin: 0; }
.tf-fiche__infos .tf-actions { margin: 0; }

/* Agenda : les dates à venir avec leur photo */
.tf-liste-evenements--cartes { max-width: none; display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: var(--espace-8) var(--espace-7); }
.tf-evenement-carte__photo { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 12px 5px 14px 6px / 6px 14px 5px 12px; box-shadow: var(--ombre-feuille); background: var(--teinte); }
.tf-evenement-carte__photo img { display: block; width: 100%; height: 100%; object-fit: cover; transition: scale 0.5s ease; }
.tf-evenement-carte__photo .tf-evenement-carte__dessin { object-fit: contain; padding: 14%; box-sizing: border-box; }
.tf-evenement-carte:hover .tf-evenement-carte__photo img { scale: 1.035; }
.tf-evenement-carte { display: block; }
.tf-evenement-carte__haut { position: relative; margin-bottom: var(--espace-5); }
.tf-evenement-carte .tf-evenement__date { position: absolute; top: -22px; left: -16px; box-shadow: 0 3px 8px rgba(40, 38, 34, 0.14); }
.tf-evenement-carte .titre-3 { font-size: 28px; margin: 0; }

@media (max-width: 960px) {
  .tf-article__grille { grid-template-columns: 1fr; }
  .tf-article__photo { grid-column: 1; grid-row: auto; position: static; max-width: 460px; margin-bottom: var(--espace-6); }
  .tf-fiche__grille { grid-template-columns: 1fr; gap: var(--espace-6); }
}
@media (max-width: 640px) {
  .tf-article__titre { font-size: 34px; }
  .tf-suivants { grid-template-columns: 1fr; }
  .tf-suivant--suiv { grid-column: 1; }
  .tf-evenement-carte .tf-evenement__date { left: -6px; }
}
/* Quatre feuilles : deux par ligne plutôt que trois et une seule */
.tf-feuilles:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .tf-feuilles:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; } }
.tf-point__valeur--long { font-size: 25px; }
@media (max-width: 640px) { .tf-point__valeur--long { font-size: 21px; } }
.tf-hero__texte .tf-actions { margin-top: var(--espace-6); }
.tf-hero__texte { max-width: none; }
@media (max-width: 640px) {
  .tf-points { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espace-6) var(--espace-4); }
  .tf-point__valeur { width: 104px; height: 104px; }
  .tf-point__texte { font-size: 15px; }
}

/* =========================================================
   8. Boutons de la couleur du titre auquel ils sont rattachés
   ========================================================= */
.tf-btn--bleu, .tf-btn--encre { background-color: var(--bleu); color: var(--papier-blanc); }
.tf-btn--vert { background-color: var(--vert-fonce); color: var(--papier-blanc); }
.tf-btn--jaune { background-color: var(--jaune); color: var(--encre); }
.tf-btn--brun { background-color: var(--rouge); color: var(--papier-blanc); }
.tf-btn--rouge { background-color: var(--rouge-fonce); color: var(--papier-blanc); }

/* Titres de hero longs : deux lignes */
.tf-hero__texte .titre-hero--long { font-size: 60px; }
@media (max-width: 640px) { .tf-hero__texte .titre-hero--long { font-size: 38px; } }

/* Coordonnées épurées */
.tf-contact-page__coordonnees { position: relative; }
.tf-contact-page__dessin { position: absolute; top: -46px; right: 22px; width: 92px; height: auto; rotate: 4deg; }
.tf-contact-page__coordonnees > .titre-3 { padding-right: 90px; }
.tf-contact-page__adresse { margin: 0 0 var(--espace-4); line-height: 1.55; }
.tf-contact-page__adresse strong { font-weight: 800; color: var(--encre); }
.tf-contact-page__ligne { margin: 0 0 var(--espace-2); }

/* Photo portrait d'une rangée : sa hauteur suit le texte (pas de vide créé par la photo) */
.tf-rangee--portrait .tf-rangee__photo {
  position: relative;
  align-self: stretch;
  justify-self: center;
  width: auto;
  max-width: 100%;
  min-height: 300px;
  aspect-ratio: 4 / 5;
}
.tf-rangee--portrait .tf-rangee__photo img { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.tf-rangee--portrait { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); align-items: center; }
.tf-rangee--portrait.tf-rangee--inverse { grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr); }
@media (max-width: 960px) {
  .tf-rangee--portrait .tf-rangee__photo { align-self: auto; justify-self: start; height: min(105vw, 440px); min-height: 0; }
}

/* Vidéos : vignette YouTube */
.tf-video__vignette { background-color: var(--encre); background-size: cover; background-position: center; background-blend-mode: normal; }

/* Événement : infos pratiques collantes à droite */
.tf-fiche-evt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 340px); gap: var(--espace-8); align-items: start; }
.tf-fiche-evt .tf-fiche__infos { position: sticky; top: 130px; margin-top: var(--espace-4); }
.tf-fiche-evt .tf-fiche__photo { margin-bottom: var(--espace-6); }
.tf-fiche-evt .tf-fiche__infos .tf-actions { flex-direction: column; align-items: flex-start; }
@media (max-width: 960px) {
  .tf-fiche-evt { grid-template-columns: 1fr; gap: var(--espace-6); }
  .tf-fiche-evt .tf-fiche__infos { position: static; margin-top: 0; }
}
@media (max-width: 960px) {
  .tf-rangee--portrait, .tf-rangee--portrait.tf-rangee--inverse { grid-template-columns: 1fr; }
}
.tf-galerie__item figure:has(figcaption)::after { display: none; }

/* =========================================================
   9. Soulignés : seulement sous la dernière ligne
   Le script de la page mesure chaque lien (--debut : où commence la dernière ligne,
   --fin : sa largeur) ; le trait se dessine de gauche à droite sous cette ligne.
   ========================================================= */
.tf-prose a, .tf-lien, .tf-lien-tout, .tf-lien-titre, .tf-pied a:not(.tf-btn):not(.tf-pied__reseau),
.tf-etiquette__texte, .tf-theme__titre, .tf-carte-article__titre, .tf-contact__email, .tf-souligne {
  background-position: var(--debut, 0px) 100%;
}
.tf-prose a:hover, .tf-prose a:focus-visible,
.tf-lien:hover, .tf-lien:focus-visible,
.tf-lien-tout:hover, .tf-lien-tout:focus-visible,
.tf-lien-titre:hover, .tf-lien-titre:focus-visible,
.tf-pied a:not(.tf-btn):not(.tf-pied__reseau):hover, .tf-pied a:not(.tf-btn):not(.tf-pied__reseau):focus-visible,
a.tf-carte-photo:hover .tf-etiquette__texte, a.tf-carte-photo:focus-visible .tf-etiquette__texte,
.tf-theme__lien:hover .tf-theme__titre, .tf-theme__lien:focus-visible .tf-theme__titre,
.tf-carte-article__lien:hover .tf-carte-article__titre, .tf-carte-article__lien:focus-visible .tf-carte-article__titre,
.tf-contact__email:hover, a.tf-souligne:hover, a:hover > .tf-souligne {
  background-size: var(--fin, 100%) 9px;
}
.tf-carte-ign__lien .tf-lien { background-size: var(--fin, 100%) 9px; }
.tf-etiquette__texte { background-position: var(--debut, 0px) calc(100% + 1px); }
a.tf-carte-photo:hover .tf-etiquette__texte, a.tf-carte-photo:focus-visible .tf-etiquette__texte { background-size: var(--fin, 100%) 8px; }
.tf-etiquette .tf-etiquette__texte {
  padding: 0; border-radius: 0; box-shadow: none; color: inherit;
  -webkit-box-decoration-break: slice; box-decoration-break: slice;
  background-color: transparent;
  background-image: var(--vague, var(--vague-blanc));
  background-repeat: no-repeat;
  background-size: 0% 8px;
}
.tf-etiquette .tf-etiquette__texte { background-position: var(--debut, 0px) calc(100% + 1px); }
a.tf-carte-photo:hover .tf-etiquette span, a.tf-carte-photo:focus-visible .tf-etiquette span { text-decoration: none; }
.tf-formulaire__erreur { margin: var(--espace-4) 0 0; padding: var(--espace-3) var(--espace-4); background: #fdecea; color: var(--rouge-fonce); border-radius: 8px; font-weight: 700; }

/* Boutique : rayons et caractéristiques */
.tf-boutique__categorie { margin: var(--espace-8) 0 var(--espace-6); }
.tf-boutique__categorie:first-of-type { margin-top: var(--espace-4); }
.tf-produit__categorie { margin: var(--espace-3) 0 0; text-transform: uppercase; letter-spacing: 0.06em; font-style: normal; font-weight: 700; color: var(--texte-doux); }
.tf-produit__caracteristiques { margin: var(--espace-5) 0 var(--espace-6); max-width: 520px; }
.tf-produit__caracteristiques .tf-infos__ligne { grid-template-columns: 110px 1fr; }
.tf-produit__rupture { font-size: 14px; font-weight: 700; color: var(--rouge-fonce); margin-left: 8px; }

/* Rangée : titre un peu plus petit (option « titre_taille: petit ») */
.tf-rangee__texte .titre-2--petit { font-size: 35px; }
@media (max-width: 720px) { .tf-rangee__texte .titre-2--petit { font-size: 28px; } }

/* Rangée : photo à gauche (option « photo: gauche ») */
@media (min-width: 961px) {
  .tf-rangee--photo-gauche,
  .tf-rangee--portrait.tf-rangee--photo-gauche { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr); }
  .tf-rangee--photo-gauche .tf-rangee__photo,
  .tf-rangee--portrait:not(.tf-rangee--inverse).tf-rangee--photo-gauche .tf-rangee__photo { order: 0; }
}

/* Pied de page : bouton « Faire un don » en texte noir */
.tf-pied .tf-btn--chaud, .tf-pied .tf-btn--chaud:hover, .tf-pied .tf-btn--chaud:focus-visible { color: var(--encre); }

/* =========================================================
   Boutique : panier
   ========================================================= */
.tf-entete__panier { display: inline-flex; align-items: center; gap: 2px; flex: none; min-height: 44px; padding: 0 4px; margin-right: var(--espace-2); color: var(--encre); text-decoration: none; }
.tf-entete__panier[hidden] { display: none; }
.tf-entete__panier-dessin { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: rotate .25s ease; }
.tf-entete__panier-fond { fill: var(--teinte); stroke: none; transition: fill .2s ease; }
.tf-entete__panier-trait { stroke-width: 1.4; opacity: .55; }
.tf-entete__panier-nombre {
  display: inline-grid; place-items: center; min-width: 28px; height: 26px; padding: 1px 6px 0;
  background: var(--jaune); color: var(--encre);
  border-radius: 52% 48% 55% 45% / 47% 55% 45% 53%; rotate: -4deg;
  font: 900 18px/1 var(--font-titre);
}
.tf-entete__panier-nombre[hidden] { display: none; }
.tf-entete__panier:hover, .tf-entete__panier:focus-visible { color: var(--bleu); }
.tf-entete__panier:hover .tf-entete__panier-dessin, .tf-entete__panier:focus-visible .tf-entete__panier-dessin { rotate: -6deg; }
.tf-entete__panier:hover .tf-entete__panier-fond { fill: #dbe3fb; }
.tf-entete__panier[aria-current] .tf-entete__panier-fond { fill: var(--jaune); }

.tf-ajout { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--espace-4); margin: var(--espace-5) 0 var(--espace-3); }
.tf-ajout__quantite { display: flex; flex-direction: column; gap: 6px; font: 600 15px var(--font-soustitre); color: var(--encre); }
.tf-ajout__confirmation { font-weight: 700; color: var(--encre); margin: 0 0 var(--espace-3); }

.tf-panier__grille { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: var(--espace-7); align-items: start; }
.tf-panier__liste { list-style: none; margin: 0 0 var(--espace-5); padding: 0; }
.tf-panier__ligne { display: grid; grid-template-columns: 88px minmax(0, 1fr) auto auto; grid-template-areas: "image infos quantite total" "image infos retirer retirer"; gap: var(--espace-2) var(--espace-5); align-items: center; padding: var(--espace-5) 0; border-bottom: 2px dashed var(--papier-ombre); }
.tf-panier__image { grid-area: image; width: 88px; height: 88px; object-fit: contain; }
.tf-panier__infos { grid-area: infos; }
.tf-panier__nom { font: 800 18px/1.3 var(--font-texte); color: var(--encre); text-decoration: none; }
.tf-panier__nom:hover { color: var(--bleu); }
.tf-panier__prix-unitaire { margin: 4px 0 0; color: var(--texte-doux); font-size: 15px; }
.tf-panier__epuise { margin: 4px 0 0; color: var(--rouge-fonce); font-weight: 700; font-size: 15px; }
.tf-panier__total-ligne { grid-area: total; margin: 0; min-width: 80px; text-align: right; font: 800 18px var(--font-texte); color: var(--encre); }
.tf-panier__lien-bouton { grid-area: auto; justify-self: auto; }

.tf-panier__recap { position: sticky; top: 130px; padding: var(--espace-6); }
.tf-panier__recap .titre-3 { margin: 0 0 var(--espace-4); }
.tf-panier__montants { margin: 0 0 var(--espace-3); }
.tf-panier__montants > div { display: flex; justify-content: space-between; gap: var(--espace-4); padding: 6px 0; }
.tf-panier__montants dt { color: var(--texte); }
.tf-panier__montants dd { margin: 0; font-weight: 700; color: var(--encre); }
.tf-panier__montants [data-panier-ligne-remise] dd { color: var(--vert-fonce, var(--encre)); }
.tf-panier__montants > div[hidden] { display: none; }
.tf-panier__total { border-top: 2px solid var(--encre); margin-top: 6px; padding-top: 12px !important; font-size: 20px; }
.tf-panier__total dt, .tf-panier__total dd { font-weight: 800; color: var(--encre); }
.tf-panier__seuil { margin: 0 0 var(--espace-5); }
.tf-panier__code { margin: 0 0 var(--espace-2); }
.tf-panier__code[hidden] { display: none; }
.tf-panier__code label { display: block; font: 600 15px var(--font-soustitre); color: var(--encre); margin-bottom: 6px; }
.tf-panier__code > div { display: flex; align-items: center; gap: var(--espace-4); }
.tf-panier__code input { flex: 1; min-width: 0; text-transform: uppercase; }
.tf-panier__code .tf-btn { padding: 10px 16px; font-size: 15px; }
[data-panier-code-message]:empty { display: none; }
.tf-panier__payer { width: 100%; justify-content: center; margin: var(--espace-4) 0 var(--espace-3); }
.tf-panier__payer:disabled { opacity: .55; cursor: not-allowed; }
.tf-panier__erreur { color: var(--rouge-fonce); font-weight: 700; margin: 0 0 var(--espace-3); }

@media (max-width: 960px) {
  .tf-panier__grille { grid-template-columns: minmax(0, 1fr); gap: var(--espace-5); }
  .tf-panier__recap { position: relative; top: auto; }
}
@media (max-width: 560px) {
  .tf-panier__ligne { grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--espace-2) var(--espace-3); grid-template-areas: "image infos infos" "image quantite total" "image retirer retirer"; }
  .tf-panier__image { width: 64px; height: 64px; }
}
@media (max-width: 720px) {
  .tf-entete__inner { gap: 10px; }
  .tf-entete__panier { margin: 0 0 0 auto; padding: 0; }
  .tf-entete__panier-dessin { width: 30px; height: 30px; }
  .tf-entete__panier-nombre { min-width: 25px; height: 24px; font-size: 16px; padding: 1px 5px 0; }
}


/* Boutique : quantité (− 1 +), « Retirer », champ code promo — même trait dessiné que les boutons du site */
.tf-ajout__quantite { display: flex; flex-direction: column; gap: 6px; font: 600 15px var(--font-soustitre); color: var(--encre); }
.tf-quantite {
  display: inline-flex; align-items: center; gap: 0;
  background: var(--papier-blanc); color: var(--encre);
  border: 2px solid var(--encre); border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px;
  rotate: -0.6deg; padding: 2px 4px;
}
.tf-quantite:has(input:focus-visible) { outline: 3px solid var(--focus); outline-offset: 3px; }
.tf-quantite input {
  width: 2.4em; border: 0; background: transparent; text-align: center; padding: 6px 0;
  font: 800 18px/1 var(--font-texte); color: var(--encre); -moz-appearance: textfield; appearance: textfield;
}
.tf-quantite input:focus { outline: none; }
.tf-quantite input::-webkit-inner-spin-button, .tf-quantite input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.tf-quantite__pas { display: grid; place-items: center; width: 38px; height: 38px; padding: 0; border: 0; background: none; color: inherit; cursor: pointer; transition: rotate .15s ease, color .15s ease; }
.tf-quantite__pas svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; }
.tf-quantite__pas:hover { color: var(--bleu); rotate: -8deg; }
.tf-quantite__pas:focus-visible { outline: 2px solid var(--focus); border-radius: 50%; }
.tf-panier__quantite { grid-area: quantite; justify-self: start; }

.tf-panier__retirer { grid-area: retirer; justify-self: end; display: inline-flex; align-items: center; gap: 4px; background: none; border: 0; padding: 4px 0; color: var(--texte-doux); font: 700 14px var(--font-texte); cursor: pointer; transition: color .15s ease; }
.tf-panier__retirer svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; transition: rotate .15s ease; }
.tf-panier__retirer:hover { color: var(--rouge-fonce); }
.tf-panier__retirer:hover svg { rotate: 90deg; }
.tf-panier__lien-bouton { background: none; border: 0; padding: 4px 0; color: var(--texte-doux); font: 700 14px var(--font-texte); text-decoration: underline; cursor: pointer; }
.tf-panier__lien-bouton:hover { color: var(--rouge-fonce); }
.tf-panier__code input {
  font: 700 16px/1.2 var(--font-texte); color: var(--encre); background: var(--papier-blanc);
  border: 2px solid var(--encre); border-radius: 255px 15px 225px 15px / 15px 225px 15px 255px; padding: 10px 14px;
}
.tf-panier__code input:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; }
.tf-panier__code .tf-btn { border-color: transparent; flex: none; }

/* Mobile : la photo d'une rangée passe toujours avant le titre (y compris les photos portrait) */
@media (max-width: 960px) {
  .tf-rangee .tf-rangee__photo,
  .tf-rangee--portrait:not(.tf-rangee--inverse) .tf-rangee__photo,
  .tf-rangee--portrait:not(.tf-rangee--inverse).tf-rangee--photo-gauche .tf-rangee__photo { order: 0; }
}

/* Deux sections à fond bleu clair qui se suivent : un seul fond continu, sans bord déchiré entre elles */
.tf-bande--teinte:has(+ .tf-bande--teinte) { margin-bottom: 0; }
.tf-bande--teinte:has(+ .tf-bande--teinte)::after { display: none; }
.tf-bande--teinte + .tf-bande--teinte { margin-top: 0; }
.tf-bande--teinte + .tf-bande--teinte::before { display: none; }

/* Panier : un bloc masqué reste masqué, même s'il a un display (grille, flex…) */
.tf-panier [hidden] { display: none !important; }

/* Mobile : photos des blocs « invitation » en paysage */
@media (max-width: 960px) {
  .tf-invitation__photo img { aspect-ratio: 3 / 2; }
}

/* Faire un don / Nous rejoindre : un peu plus d'air entre le texte et le formulaire HelloAsso */
.tf-helloasso { gap: var(--espace-9); }
.tf-helloasso__cadre { padding: var(--espace-6); }
@media (max-width: 960px) {
  .tf-helloasso { gap: var(--espace-7); }
  .tf-helloasso__cadre { padding: var(--espace-4); }
}

/* Rangée : sur mobile, photo placée juste après le titre (option « photo_mobile: apres-titre ») */
@media (max-width: 960px) {
  .tf-rangee--photo-apres-titre { gap: 0; }
  .tf-rangee--photo-apres-titre .tf-rangee__texte { display: contents; }
  .tf-rangee--photo-apres-titre .tf-rangee__texte > * { order: 3; }
  .tf-rangee--photo-apres-titre .tf-rangee__texte > .tf-titre { order: 1; }
  .tf-rangee.tf-rangee--photo-apres-titre .tf-rangee__photo { order: 2; margin: 0 0 var(--espace-6); }
}

/* Feuilles : bouton « Voir toute la liste » */
.tf-feuilles__plus { background: none; border: 0; padding: 0; margin-top: var(--espace-3); cursor: pointer; font: inherit; font-weight: 800; color: var(--encre); }
.tf-feuilles__plus[hidden] { display: none; }
.tf-prose li[hidden] { display: none; }

/* Mairie (Collectivité) : le bâtiment, sans le drapeau, a la même hauteur que l'école ; le drapeau dépasse au-dessus. */
.tf-theme__dessin[src*="/mairie."] { height: 135px; max-width: 144px; margin-top: -15px; }
.tf-feuilles__dessin[src*="/mairie."] { width: 110px; top: -64px; }
@media (max-width: 640px) {
  .tf-feuilles__dessin[src*="/mairie."] { width: 84px; top: -49px; }
}

/* Mobile : les thématiques sans texte (« Découvrez ce que nous pouvons faire ensemble »…) sur deux colonnes, donc deux lignes. */
@media (max-width: 640px) {
  .tf-themes:not(:has(p)) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espace-6) var(--espace-4); }
  .tf-themes:not(:has(p)) .tf-theme__dessin { height: 96px; max-width: 120px; margin-bottom: var(--espace-3); }
  .tf-themes:not(:has(p)) .tf-theme__dessin[src*="/mairie."] { height: 108px; max-width: 128px; margin-top: -12px; }
  .tf-themes:not(:has(p)) .tf-theme__titre { font-size: 21px; }
}

/* Colibri posé sur le coin d'un appel ; sur mobile il reste dans la page. */
.tf-appel > .tf-colibri { top: -38px; right: -26px; width: 96px; }
@media (max-width: 640px) {
  .tf-appel > .tf-colibri { top: -12px; right: 10px; width: 78px; }
}

/* Boutons du pied de page : jamais de trait sous le texte, au repos comme au survol (Safari compris). */
.tf-pied a.tf-btn, .tf-pied a.tf-btn:hover, .tf-pied a.tf-btn:focus-visible, .tf-pied a.tf-btn:active { text-decoration: none; text-decoration-line: none; background-image: none; }

/* Texte sélectionné : surligné en orange clair (le jaune de la charte) ; le texte garde sa couleur. */
::selection { background: #fadabc; background: color-mix(in srgb, var(--jaune) 45%, #fff); }

/* Bouton masqué sur mobile (option « bouton_mobile: false », ex. « Découvrir le jeu ») */
@media (max-width: 960px) {
  .tf-cache-mobile { display: none !important; }
}

/* Blocs « invitation » (Si vous avez envie, Rejoindre notre équipe d'animateurs) : la photo entière, en paysage, sur tous les écrans. */
.tf-invitation__photo img, .tf-invitation__photo img[src] { aspect-ratio: auto; height: auto; object-fit: initial; }

/* Bande « Faire un don » : sur ordinateur, le texte s'étale davantage (3 ou 4 lignes) et le dessin se décale vers la gauche. */
@media (min-width: 961px) {
  .tf-bande-appel__inner { gap: var(--espace-8); }
  .tf-bande-appel__texte { max-width: 92ch; }
}

/* Feuilles : texte et bouton placés après les feuilles (Nous rejoindre) */
.tf-feuilles__suite { margin-top: var(--espace-8); text-align: center; }
.tf-feuilles__suite .tf-prose { max-width: 62ch; margin-inline: auto; }
.tf-feuilles__suite .tf-actions { justify-content: center; margin-top: var(--espace-5); }

/* Nous rejoindre : plus d'air sous « Comment adhérer ? » (bouton et photo) */
/* La marge du bas reste toujours là : si le formulaire HelloAsso est masqué (bloqueur de publicité),
   la section est la dernière avant le pied de page et ne doit pas passer dessous. */
#comment-adherer { scroll-margin-top: 90px; padding-bottom: var(--espace-9); }
/* … et le formulaire HelloAsso juste en dessous, rapproché ; les boutons « Adhérer » mènent devant lui (#formulaire-adhesion).
   Pas d'identifiant « adhesion » : les bloqueurs de publicité (AdBlock…) masquent tout élément #adhesion. */
#comment-adherer + #formulaire-adhesion { padding-top: 0; }
#formulaire-adhesion { scroll-margin-top: 90px; }

/* Espace adhérents : la phrase sous les étapes tient sur une ligne sur ordinateur */
@media (min-width: 961px) {
  .tf-fiches__suite { max-width: none; }
}

/* Grille de photos : un dessin à la place de la photo (Bulle verte) */
.tf-carte-photo__cadre--dessin { display: grid; place-items: center; background: var(--teinte); }
.tf-carte-photo__cadre--dessin img { width: auto !important; height: 72% !important; object-fit: contain !important; filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.12)); }

/* Hero : photo entière sur mobile, sans être coupée (option « image_mobile: entiere ») */
@media (max-width: 720px) {
  .tf-hero--image-entiere .tf-hero__photo { height: auto; }
  .tf-hero--image-entiere .tf-hero__photo img { height: auto; aspect-ratio: auto; object-fit: contain; }
  /* « image_mobile: large » : bandeau moins haut, qui montre une plus grande partie d'une photo très panoramique */
  .tf-hero--image-large .tf-hero__photo { height: 48vw; }
}

/* Citation : le nom de l'auteur en noir */
.tf-citation__auteur strong { color: var(--encre); }

/* Feuilles (ordinateur) : l'immeuble et le chapiteau à la taille de l'école et de la mairie, sans toucher le titre */
@media (min-width: 961px) {
  .tf-feuilles__dessin[src*="/immeuble."], .tf-feuilles__dessin[src*="/chapiteau."] { width: auto; height: 104px; top: -54px; }
  .tf-feuilles__dessin[src*="/chapiteau."] { top: -62px; }
}

/* Hero : chapeau plus large sur ordinateur (option « chapeau_large ») */
@media (min-width: 961px) {
  .tf-hero__chapeau--large { max-width: 1120px; }
}

/* Galerie : seulement le scotch du haut (option « scotch: haut ») */
.tf-galerie--scotch-haut figure::after { display: none; }

/* Partenaires : la dernière ligne de timbres est centrée (5 par ligne sur ordinateur, 3 sur tablette, 2 sur mobile) */
.tf-partenaires__timbres { display: flex; flex-wrap: wrap; justify-content: center; --colonnes: 5; }
.tf-partenaire { flex: 0 0 calc((100% - (var(--colonnes) - 1) * var(--espace-6)) / var(--colonnes)); }
@media (max-width: 900px) { .tf-partenaires__timbres { --colonnes: 3; } }
@media (max-width: 560px) { .tf-partenaires__timbres { --colonnes: 2; } .tf-partenaire { flex-basis: calc((100% - var(--espace-5)) / 2); } }

/* Deux grilles de photos qui se suivent (Toutes nos animations) : rapprochées, comme une seule grille sur deux lignes */
.tf-section:has(> .tf-conteneur > .tf-grille-photos) + .tf-section:has(> .tf-conteneur > .tf-grille-photos) { padding-top: 0; }
.tf-section:has(> .tf-conteneur > .tf-grille-photos):has(+ .tf-section > .tf-conteneur > .tf-grille-photos) { padding-bottom: var(--espace-8); }
.tf-alaune__resume p + p { margin-top: var(--espace-3); }

/* On parle de nous : la phrase d'introduction tient sur une ligne sur ordinateur */
@media (min-width: 961px) {
  .tf-entete-page__chapeau--large { max-width: none; }
}

/* Formulaire HelloAsso en pleine largeur (option « largeur: pleine », Nous rejoindre) */
.tf-helloasso--pleine { grid-template-columns: minmax(0, 1fr); }

/* Feuilles illustrées (ordinateur) : dessins un peu plus bas et lignes plus espacées, pour qu'un dessin ne touche pas la feuille du dessus */
@media (min-width: 961px) {
  .tf-feuilles:has(.tf-feuilles__dessin) { row-gap: calc(var(--espace-8) + 8px); }
  .tf-feuilles__dessin { top: -42px; }
  .tf-feuilles__dessin[src*="/mairie."] { top: -54px; }
  .tf-feuilles__dessin[src*="/immeuble."] { top: -44px; }
  .tf-feuilles__dessin[src*="/chapiteau."] { top: -50px; }
}
@media (max-width: 960px) {
  .tf-feuilles:has(.tf-feuilles__dessin) { row-gap: 72px; }
}

/* Galerie en colonnes : le scotch et le coin incliné d'une photo en haut de colonne restent dans sa case
   (sinon le navigateur les affiche en bas de la colonne précédente) */
.tf-galerie__item { padding-top: 20px; margin-bottom: calc(var(--espace-7) - 20px); }
.tf-galerie { padding-top: 0; }

/* Partenaires : le timbre perforé est une image (timbre.svg) et non plus un masque CSS.
   Avec le masque, Chrome perdait parfois le découpage pendant l'animation du survol (carré blanc qui clignote). */
.tf-partenaire__papier {
  -webkit-mask: none; mask: none;
  background: url("/assets/img/textures/timbre.svg") center / 100% 100% no-repeat;
}

/* Boutique : les premiers produits juste sous la phrase d'introduction */
.tf-section.tf-boutique { padding-top: 0; }

/* HelloAsso : la phrase « Paiement sécurisé… » reste sur le blanc, au-dessus du bord déchiré du bas */
.tf-helloasso__cadre { padding-bottom: var(--espace-8); }
@media (max-width: 960px) {
  .tf-helloasso__cadre { padding-bottom: var(--espace-7); }
}

/* Article : lecteur audio (émission de radio) sur toute la largeur du texte */
.tf-audio { display: block; width: 100%; margin-top: var(--espace-4); }

/* En-tête (ordinateur) : tout doit tenir dans la largeur, même avec le panier affiché.
   Menu un peu plus serré jusqu'à 1320 px et dès que le panier est là ; sur écran moyen avec le panier,
   le bouton « Faire un don » laisse sa place (il reste dans le pied de page). */
@media (min-width: 1021px) and (max-width: 1320px) {
  .tf-entete .tf-nav ul { gap: var(--espace-4); }
  .tf-nav a { font-size: 15.5px; }
}
@media (min-width: 1021px) {
  .tf-entete__inner:has(.tf-entete__panier:not([hidden])) .tf-nav ul { gap: var(--espace-4); }
  .tf-entete__inner:has(.tf-entete__panier:not([hidden])) .tf-nav a { font-size: 15.5px; }
  .tf-entete__inner:has(.tf-entete__panier:not([hidden])) .tf-entete__panier { margin-right: 0; }
}
@media (min-width: 1021px) and (max-width: 1320px) {
  .tf-entete__inner:has(.tf-entete__panier:not([hidden])) .tf-entete__don { display: none; }
}
@media (min-width: 1021px) and (max-width: 1100px) {
  .tf-entete__inner { gap: var(--espace-4); }
  .tf-entete .tf-nav ul,
  .tf-entete__inner:has(.tf-entete__panier:not([hidden])) .tf-nav ul { gap: var(--espace-3); }
  .tf-nav a,
  .tf-entete__inner:has(.tf-entete__panier:not([hidden])) .tf-nav a { font-size: 15px; }
}
/* Chiffres clés (mobile) : « 3 et + » tient sur une ligne, « 10 gouttes » reste dans son cercle */
@media (max-width: 640px) {
  .tf-point__valeur { font-size: 25px; }
  .tf-point__valeur--long { font-size: 19px; }
}
