/* Polices incrustees dans le site : aucun appel a un service exterieur,
   ni Google Fonts ni autre. Fichiers dans polices/, sous-ensemble francais,
   21 ko par graisse au lieu de 260. Licence OFL a cote des fichiers.

   Alegreya Sans, de Huerta Tipografica, retenue le 3 aout 2026 pour le
   texte courant. Son OFL ne declare aucun nom de fonte reserve, le nom
   d'origine peut donc rester apres sous-ensemble.

   Petit oeil : elle se compose un cran plus grand que la moyenne, d'ou le
   corps de 1.18rem sur le corps de texte.

   ?v=2 : les fichiers ont ete repris le 4 aout 2026 pour y ajouter le glyphe
   de l'espace fine insecable, U+202F, que la police d'origine n'avait pas.
   Le numero force le navigateur a recharger au lieu de garder l'ancien
   fichier en cache. A incrementer a chaque reprise des polices. */

@font-face {
  font-family: "Alegreya Sans";
  src: url(../polices/alegreya-sans-regular.woff2?v=2) format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alegreya Sans";
  src: url(../polices/alegreya-sans-italic.woff2?v=2) format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Alegreya Sans";
  src: url(../polices/alegreya-sans-bold.woff2?v=2) format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Alegreya Sans";
  src: url(../polices/alegreya-sans-bold-italic.woff2?v=2) format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

/* Feuille de style du site refondu
   Editions Les Asclepiades, 3 aout 2026.

   Ecrite a la main. Aucune dependance, aucun framework, aucun appel a un
   service exterieur. Aucune carte arrondie, aucun degrade, aucune ombre
   posee partout, aucun violet : contrainte posee en D12.

   Parti pris, arrete le 3 aout 2026 : tout en Alegreya Sans, colonne de
   texte etroite, filets doubles, une seule couleur froide, celle du bleu
   de la couverture des romans. Sans le contraste serif contre sans, la
   hierarchie vient du corps, des vraies petites capitales et des filets. */

:root {
  --papier: #ffffff;
  --papier-creux: #f2f1ee;
  --encre: #14161c;
  --encre-douce: #4e535e;
  --filet: #14161c;
  --filet-clair: #cfd0cf;
  --accent: #1c3c66;
  --accent-clair: #e6ecf3;
  --sans: "Alegreya Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  /* Mesure unique de la page : en-tete, contenu, pied. Elle s'elargit sur
     grand ecran, et le corps du texte grandit avec elle : la longueur de
     ligne reste ainsi entre 70 et 78 caracteres, la fourchette ou l'oeil ne
     se perd pas en fin de ligne. Voir les deux media queries plus bas. */
  --mesure: 44rem;
  --corps: 1.18rem;
}

* { box-sizing: border-box; }

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  background: var(--papier);
  color: var(--encre);
  font-family: var(--sans);
  font-size: var(--corps);
  line-height: 1.6;
}

/* Tout est en sans serif. La hierarchie se joue sur le corps, la graisse,
   un titre legerement serre, et l'italique sur le chapeau et la signature. */
h1 { letter-spacing: -0.005em; }
.avant .titre, .livre h2 { letter-spacing: -0.003em; }
.chapeau, .signature { font-style: italic; }

/* Titres d'ouvrages et de periodiques : italique, usage francais. Dans un
   passage deja en italique, citation de presse ou chapeau, le titre repasse
   en romain, sans quoi il ne se distingue plus de rien. */
blockquote em,
.chapeau em,
.signature em,
.auteurs em,
h3 em,
em em { font-style: normal; }

a { color: var(--accent); text-underline-offset: 2px; }
a:hover { color: var(--encre); }

/* Navigation au clavier : le cadre de focus doit rester visible et lisible
   sur les deux fonds de la page. */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.evitement { position: absolute; left: -9999px; }
.evitement:focus {
  left: 0.5rem; top: 0.5rem; z-index: 10;
  background: var(--encre); color: #fff; padding: 0.5rem 0.75rem;
  text-decoration: none;
}

/* En-tete : marque centree entre deux filets */

.tete {
  border-bottom: 3px double var(--filet);
  padding: 2rem 1.5rem 0;
  text-align: center;
}

.tete-corps {
  max-width: var(--mesure);
  margin: 0 auto;
}

.marque { margin: 0; }
.marque a {
  display: inline-block;
  color: var(--encre);
  text-decoration: none;
}
.marque a:hover { color: var(--accent); }

/* Le logo est le nom compose en Lucida Handwriting, converti en courbes.
   Pose en masque, il prend la couleur du texte : un seul fichier pour
   les deux directions visuelles. */

.marque-logo {
  display: block;
  width: 23rem;
  max-width: 88vw;
  aspect-ratio: 2779 / 268;
  background-color: currentColor;
}

@supports ((mask-image: url("")) or (-webkit-mask-image: url(""))) {
  .marque-logo {
    /* logo-debut, engendre par scripts/logo-incorporer.py */
    --logo: url("data:image/svg+xml,<svg xmlns=%22http://www.w3.org/2000/svg%22 viewBox=%220 0 27788 2675%22><path d=%22M510.44 1217.44 459.44 1474.44Q427.44 1634.44 427.44 1701.44Q427.44 1834.44 685.44 1834.44Q941.44 1834.44 1136.44 1743.44Q1091.44 1893.44 987.44 1928.44Q924.44 1949.44 768.44 1971.94Q612.44 1994.44 528.44 1994.44Q201.44 1994.44 201.44 1777.44Q201.44 1719.44 233.44 1554.44L300.44 1217.44H285.44Q184.44 1217.44 89.44 1261.44Q144.44 1153.44 179.94 1123.44Q215.44 1093.44 292.44 1093.44H325.44L423.44 600.44H394.44Q209.44 600.44 51.44 718.44Q101.44 558.44 188.44 512.44Q256.44 477.44000000000005 607.44 477.44000000000005H905.44Q1187.44 477.44000000000005 1363.44 421.44000000000005Q1284.44 546.44 1222.94 573.44Q1161.44 600.44 956.44 600.44H633.44L534.44 1093.44H741.44Q958.44 1093.44 1087.44 1038.44Q1019.44 1165.44 966.44 1191.44Q913.44 1217.44 717.44 1217.44ZM680.44 353.44000000000005Q728.44 311.44000000000005 763.44 270.44000000000005L810.44 213.44000000000005Q893.44 115.44000000000005 946.94 83.44000000000005Q1000.44 51.440000000000055 1082.44 51.440000000000055Q1153.44 51.440000000000055 1207.44 64.44000000000005Q1126.44 101.44000000000005 1027.44 187.44000000000005L986.44 221.44000000000005Q833.44 353.44000000000005 680.44 353.44000000000005ZM2247.44 1372.44Q2091.44 1653.44 1920.94 1817.94Q1750.44 1982.44 1616.44 1982.44Q1509.44 1982.44 1446.44 1888.94Q1383.44 1795.44 1383.44 1638.44Q1383.44 1322.44 1571.44 1084.94Q1759.44 847.44 2008.44 847.44Q2157.44 847.44 2333.44 942.44L2440.44 403.44000000000005Q2352.44 421.44000000000005 2294.44 421.44000000000005Q2206.44 421.44000000000005 2165.44 379.94000000000005Q2124.44 338.44000000000005 2099.44 224.44000000000005Q2171.44 273.44000000000005 2320.44 273.44000000000005Q2505.44 273.44000000000005 2677.44 205.44000000000005L2459.44 1301.44Q2422.44 1485.44 2422.44 1614.44Q2422.44 1786.44 2520.44 1786.44Q2616.44 1786.44 2839.94 1561.44Q3063.44 1336.44 3212.44 1090.44L3294.44 1142.44Q3116.44 1468.44 2849.94 1725.44Q2583.44 1982.44 2424.44 1982.44Q2222.44 1982.44 2222.44 1658.44Q2222.44 1524.44 2247.44 1372.44ZM2300.44 1107.44Q2092.44 970.44 1954.44 970.44Q1804.44 970.44 1694.94 1154.44Q1585.44 1338.44 1585.44 1589.44Q1585.44 1791.44 1717.44 1791.44Q1859.44 1791.44 2263.44 1163.44Q2270.44 1152.44 2300.44 1107.44ZM4202.4400000000005 1139.44Q3976.44 1535.44 3745.44 1758.94Q3514.44 1982.44 3330.44 1982.44Q3218.44 1982.44 3149.94 1909.44Q3081.44 1836.44 3081.44 1717.44Q3081.44 1672.44 3101.44 1574.44L3123.44 1464.44Q3172.44 1226.44 3172.44 1130.44Q3172.44 1073.44 3138.44 1037.44Q3268.44 1007.44 3301.44 1007.44Q3375.44 1007.44 3375.44 1111.44Q3375.44 1188.44 3346.44 1332.44L3307.44 1527.44Q3278.44 1668.44 3278.44 1710.44Q3278.44 1834.44 3383.44 1834.44Q3508.44 1834.44 3716.44 1623.94Q3924.44 1413.44 4119.4400000000005 1090.44ZM3312.44 635.44 3326.44 636.44Q3393.44 633.44 3518.94 568.94Q3644.44 504.44000000000005 3715.44 437.44000000000005Q3671.44 575.44 3559.44 668.44Q3389.44 810.44 3329.44 810.44Q3289.44 810.44 3289.44 761.44Q3289.44 691.44 3312.44 635.44ZM4682.4400000000005 1561.44Q4709.4400000000005 1610.44 4709.4400000000005 1647.44Q4709.4400000000005 1745.44 4543.9400000000005 1863.94Q4378.4400000000005 1982.44 4242.4400000000005 1982.44Q4122.4400000000005 1982.44 4046.9400000000005 1875.44Q3971.44 1768.44 3971.44 1599.44Q3971.44 1411.44 4070.44 1064.44L4116.4400000000005 896.44H3947.44Q3841.44 896.44 3778.44 926.44Q3836.44 820.44 3874.44 793.44Q3912.44 766.44 4003.44 766.44H4154.4400000000005L4174.4400000000005 697.44Q4220.4400000000005 543.44 4284.4400000000005 485.94000000000005Q4348.4400000000005 428.44000000000005 4476.4400000000005 428.44000000000005Q4491.4400000000005 428.44000000000005 4524.4400000000005 430.44000000000005Q4446.4400000000005 530.44 4362.4400000000005 766.44H4890.4400000000005Q5029.4400000000005 766.44 5102.4400000000005 730.44Q5077.4400000000005 833.44 5035.9400000000005 864.94Q4994.4400000000005 896.44 4881.4400000000005 896.44H4319.4400000000005Q4309.4400000000005 929.44 4304.4400000000005 945.44Q4183.4400000000005 1357.44 4183.4400000000005 1567.44Q4183.4400000000005 1799.44 4350.4400000000005 1799.44Q4436.4400000000005 1799.44 4537.9400000000005 1726.44Q4639.4400000000005 1653.44 4682.4400000000005 1561.44ZM6010.44 1139.44Q5784.44 1535.44 5553.44 1758.94Q5322.44 1982.44 5138.44 1982.44Q5026.44 1982.44 4957.94 1909.44Q4889.44 1836.44 4889.44 1717.44Q4889.44 1672.44 4909.44 1574.44L4931.44 1464.44Q4980.44 1226.44 4980.44 1130.44Q4980.44 1073.44 4946.44 1037.44Q5076.44 1007.44 5109.44 1007.44Q5183.44 1007.44 5183.44 1111.44Q5183.44 1188.44 5154.44 1332.44L5115.44 1527.44Q5086.44 1668.44 5086.44 1710.44Q5086.44 1834.44 5191.44 1834.44Q5316.44 1834.44 5524.44 1623.94Q5732.44 1413.44 5927.44 1090.44ZM5120.44 635.44 5134.44 636.44Q5201.44 633.44 5326.94 568.94Q5452.44 504.44000000000005 5523.44 437.44000000000005Q5479.44 575.44 5367.44 668.44Q5197.44 810.44 5137.44 810.44Q5097.44 810.44 5097.44 761.44Q5097.44 691.44 5120.44 635.44ZM6804.44 1220.44Q6807.44 1244.44 6807.44 1263.44Q6807.44 1552.44 6611.44 1767.44Q6415.44 1982.44 6152.44 1982.44Q5951.44 1982.44 5824.94 1853.94Q5698.44 1725.44 5698.44 1520.44Q5698.44 1287.44 5861.94 1116.44Q6025.44 945.44 6247.44 945.44Q6281.44 945.44 6319.44 954.44Q6294.44 909.44 6294.44 878.44Q6294.44 830.44 6327.44 786.44Q6571.44 806.44 6733.44 1036.44Q6899.44 1149.44 7079.44 1149.44Q7196.44 1149.44 7332.44 1070.44L7382.44 1155.44Q7223.44 1266.44 7056.44 1266.44Q6945.44 1266.44 6804.44 1220.44ZM6577.44 1135.44Q6494.44 1110.44 6424.44 1055.44Q6373.44 1044.44 6339.44 1044.44Q6169.44 1044.44 6037.94 1197.44Q5906.44 1350.44 5906.44 1546.44Q5906.44 1688.44 5985.94 1779.94Q6065.44 1871.44 6190.44 1871.44Q6359.44 1871.44 6481.44 1700.94Q6603.44 1530.44 6603.44 1294.44Q6603.44 1212.44 6577.44 1135.44ZM7437.44 1598.44Q7792.44 847.44 8075.44 847.44Q8296.439999999999 847.44 8296.439999999999 1287.44L8298.439999999999 1408.44Q8298.439999999999 1618.44 8319.939999999999 1698.94Q8341.439999999999 1779.44 8398.439999999999 1779.44Q8484.439999999999 1779.44 8593.939999999999 1642.44Q8703.439999999999 1505.44 8950.439999999999 1091.44L9034.439999999999 1140.44Q8814.439999999999 1555.44 8640.439999999999 1756.44Q8466.439999999999 1957.44 8328.439999999999 1957.44Q8201.439999999999 1957.44 8149.939999999999 1834.44Q8098.44 1711.44 8098.44 1408.44L8097.44 1322.44Q8097.44 1158.44 8076.44 1091.94Q8055.44 1025.44 8003.44 1025.44Q7871.44 1025.44 7578.44 1552.44Q7506.44 1681.44 7485.44 1718.44Q7408.44 1852.44 7408.44 1912.44Q7408.44 1936.44 7421.44 1958.44Q7363.44 1982.44 7323.44 1982.44Q7222.44 1982.44 7222.44 1870.44Q7222.44 1838.44 7248.44 1582.44L7270.44 1365.44Q7285.44 1227.44 7285.44 1151.44Q7285.44 1045.44 7237.44 984.44Q7258.44 977.44 7307.44 960.44Q7369.44 938.44 7406.44 938.44Q7484.44 938.44 7484.44 1052.44Q7484.44 1112.44 7469.44 1258.44Q7466.44 1290.44 7463.44 1319.44ZM9352.44 1605.44Q9386.44 1681.44 9386.44 1750.44Q9386.44 1903.44 9258.44 2016.94Q9130.44 2130.44 8958.44 2130.44Q8857.44 2130.44 8786.44 2078.44Q8715.44 2026.44 8715.44 1953.44Q8715.44 1875.44 8812.94 1795.44Q8910.44 1715.44 9139.44 1605.44L9059.44 1476.44Q8913.44 1241.44 8913.44 1109.44Q8913.44 919.44 9134.44 803.44Q9270.44 855.44 9270.44 934.44Q9270.44 1046.44 9097.44 1149.44L9211.44 1359.44L9300.44 1521.44Q9491.44 1407.44 9588.44 1325.94Q9685.44 1244.44 9833.44 1074.44L9913.44 1123.44Q9698.44 1411.44 9352.44 1605.44ZM9182.44 1695.44Q8888.44 1853.44 8888.44 1940.44Q8888.44 2022.44 9007.44 2022.44Q9095.44 2022.44 9150.44 1962.94Q9205.44 1903.44 9205.44 1809.44Q9205.44 1753.44 9182.44 1695.44ZM11394.44 1739.44Q11361.44 1837.44 11316.44 1882.44Q11271.44 1927.44 11088.94 1960.94Q10906.44 1994.44 10703.44 1994.44Q10384.44 1994.44 10384.44 1776.44Q10384.44 1715.44 10418.44 1545.44L10613.44 563.44Q10630.44 478.44000000000005 10630.44 441.44000000000005Q10630.44 407.44000000000005 10606.44 378.44000000000005Q10739.44 328.44000000000005 10791.44 328.44000000000005Q10853.44 328.44000000000005 10853.44 399.44000000000005Q10853.44 417.44000000000005 10820.44 575.44L10646.44 1452.44Q10608.44 1641.44 10608.44 1715.44Q10608.44 1840.44 10885.44 1840.44Q11132.44 1840.44 11394.44 1739.44ZM11781.44 1541.44Q11781.44 1834.44 12029.44 1834.44Q12244.44 1834.44 12503.44 1629.44Q12762.44 1424.44 12970.44 1089.44L13055.44 1136.44Q12859.44 1502.44 12545.94 1742.44Q12232.44 1982.44 11951.44 1982.44Q11771.44 1982.44 11666.94 1866.44Q11562.44 1750.44 11562.44 1549.44Q11562.44 1259.44 11751.94 1053.44Q11941.44 847.44 12208.44 847.44Q12337.44 847.44 12414.94 912.44Q12492.44 977.44 12492.44 1086.44Q12492.44 1265.44 12276.94 1403.44Q12061.44 1541.44 11781.44 1541.44ZM11789.44 1445.44Q11998.44 1434.44 12147.94 1325.44Q12297.44 1216.44 12297.44 1073.44Q12297.44 945.44 12183.44 945.44Q12047.44 945.44 11932.44 1091.44Q11817.44 1237.44 11789.44 1445.44ZM13372.44 1605.44Q13406.44 1681.44 13406.44 1750.44Q13406.44 1903.44 13278.44 2016.94Q13150.44 2130.44 12978.44 2130.44Q12877.44 2130.44 12806.44 2078.44Q12735.44 2026.44 12735.44 1953.44Q12735.44 1875.44 12832.94 1795.44Q12930.44 1715.44 13159.44 1605.44L13079.44 1476.44Q12933.44 1241.44 12933.44 1109.44Q12933.44 919.44 13154.44 803.44Q13290.44 855.44 13290.44 934.44Q13290.44 1046.44 13117.44 1149.44L13231.44 1359.44L13320.44 1521.44Q13511.44 1407.44 13608.44 1325.94Q13705.44 1244.44 13853.44 1074.44L13933.44 1123.44Q13718.44 1411.44 13372.44 1605.44ZM13202.44 1695.44Q12908.44 1853.44 12908.44 1940.44Q12908.44 2022.44 13027.44 2022.44Q13115.44 2022.44 13170.44 1962.94Q13225.44 1903.44 13225.44 1809.44Q13225.44 1753.44 13202.44 1695.44ZM14624.44 1465.44 14604.44 1503.44Q14478.44 1738.44 14478.44 1867.44Q14478.44 1905.44 14507.44 1941.44Q14483.44 1949.44 14399.44 1980.44Q14360.44 1994.44 14325.44 1994.44Q14255.44 1994.44 14255.44 1927.44Q14255.44 1788.44 14428.44 1503.44L14459.44 1452.44H14408.44Q14244.44 1452.44 14154.44 1503.44Q14201.44 1334.44 14407.44 1334.44L14531.44 1337.44L14558.44 1297.44Q14715.44 1061.44 15038.44 662.44Q15147.44 527.44 15201.44 494.44000000000005Q15255.44 461.44000000000005 15410.44 434.44000000000005Q15381.44 614.44 15381.44 769.44Q15381.44 1180.44 15476.44 1602.44Q15528.44 1834.44 15635.44 1901.44Q15541.44 1994.44 15474.44 1994.44Q15316.44 1994.44 15230.44 1452.44Q15065.44 1470.44 14897.44 1470.44ZM14696.44 1347.44 14898.44 1352.44Q15105.44 1352.44 15215.44 1338.44Q15169.44 987.44 15169.44 756.44L15170.44 681.44Q15137.44 723.44 15022.44 863.44Q14814.44 1118.44 14717.44 1308.44ZM16502.440000000002 1605.44Q16536.440000000002 1681.44 16536.440000000002 1750.44Q16536.440000000002 1903.44 16408.440000000002 2016.94Q16280.44 2130.44 16108.44 2130.44Q16007.44 2130.44 15936.44 2078.44Q15865.44 2026.44 15865.44 1953.44Q15865.44 1875.44 15962.94 1795.44Q16060.44 1715.44 16289.44 1605.44L16209.44 1476.44Q16063.44 1241.44 16063.44 1109.44Q16063.44 919.44 16284.44 803.44Q16420.440000000002 855.44 16420.440000000002 934.44Q16420.440000000002 1046.44 16247.44 1149.44L16361.44 1359.44L16450.440000000002 1521.44Q16641.440000000002 1407.44 16738.440000000002 1325.94Q16835.440000000002 1244.44 16983.440000000002 1074.44L17063.440000000002 1123.44Q16848.440000000002 1411.44 16502.440000000002 1605.44ZM16332.44 1695.44Q16038.44 1853.44 16038.44 1940.44Q16038.44 2022.44 16157.44 2022.44Q16245.44 2022.44 16300.44 1962.94Q16355.44 1903.44 16355.44 1809.44Q16355.44 1753.44 16332.44 1695.44ZM18233.44 1140.44Q17991.44 1546.44 17720.44 1779.94Q17449.44 2013.44 17217.44 2013.44Q17024.44 2013.44 16904.44 1881.44Q16784.44 1749.44 16784.44 1538.44Q16784.44 1260.44 16991.44 1053.94Q17198.44 847.44 17477.44 847.44Q17590.44 847.44 17662.94 890.94Q17735.44 934.44 17735.44 1001.44Q17735.44 1111.44 17548.44 1166.44Q17558.44 1142.44 17558.44 1120.44Q17558.44 958.44 17386.44 958.44Q17237.44 958.44 17111.94 1124.94Q16986.44 1291.44 16986.44 1489.44Q16986.44 1650.44 17069.94 1751.94Q17153.44 1853.44 17287.44 1853.44Q17655.44 1853.44 18149.44 1090.44ZM19065.44 1142.44Q18858.44 1535.44 18649.44 1758.94Q18440.44 1982.44 18279.44 1982.44Q18162.44 1982.44 18090.44 1891.94Q18018.44 1801.44 18018.44 1655.44Q18018.44 1573.44 18048.44 1423.44L18247.44 421.44000000000005Q18208.44 427.44000000000005 18179.44 427.44000000000005Q17949.44 427.44000000000005 17949.44 235.44000000000005V212.44000000000005Q18069.44 280.44000000000005 18220.44 280.44000000000005Q18371.44 280.44000000000005 18484.44 205.44000000000005L18252.44 1408.44Q18221.44 1570.44 18221.44 1631.44Q18221.44 1800.44 18345.44 1800.44Q18465.44 1800.44 18586.94 1664.94Q18708.44 1529.44 18985.44 1087.44ZM18990.44 1541.44Q18990.44 1834.44 19238.44 1834.44Q19453.44 1834.44 19712.44 1629.44Q19971.44 1424.44 20179.44 1089.44L20264.44 1136.44Q20068.44 1502.44 19754.94 1742.44Q19441.44 1982.44 19160.44 1982.44Q18980.44 1982.44 18875.94 1866.44Q18771.44 1750.44 18771.44 1549.44Q18771.44 1259.44 18960.94 1053.44Q19150.44 847.44 19417.44 847.44Q19546.44 847.44 19623.94 912.44Q19701.44 977.44 19701.44 1086.44Q19701.44 1265.44 19485.94 1403.44Q19270.44 1541.44 18990.44 1541.44ZM18998.44 1445.44Q19207.44 1434.44 19356.94 1325.44Q19506.44 1216.44 19506.44 1073.44Q19506.44 945.44 19392.44 945.44Q19256.44 945.44 19141.44 1091.44Q19026.44 1237.44 18998.44 1445.44ZM19279.44 674.44Q19327.44 632.44 19362.44 591.44L19409.44 534.44Q19492.44 436.44000000000005 19545.94 404.44000000000005Q19599.44 372.44000000000005 19681.44 372.44000000000005Q19752.44 372.44000000000005 19806.44 385.44000000000005Q19725.44 422.44000000000005 19626.44 508.44000000000005L19585.44 542.44Q19432.44 674.44 19279.44 674.44ZM20177.44 1895.44 20104.44 2265.44Q20079.44 2390.44 20079.44 2483.44Q20079.44 2542.44 20105.44 2590.44Q20004.44 2623.44 19951.44 2623.44Q19868.44 2623.44 19868.44 2529.44Q19868.44 2456.44 19901.44 2290.44L20193.44 822.44Q20106.44 840.44 20047.44 840.44Q19960.44 840.44 19918.94 798.94Q19877.44 757.44 19852.44 644.44Q19925.44 693.44 20074.44 693.44Q20259.44 693.44 20430.44 625.44L20353.44 1011.44Q20523.44 847.44 20705.44 847.44Q20864.44 847.44 20970.44 967.94Q21076.44 1088.44 21076.44 1268.44Q21076.44 1549.44 20881.44 1753.44Q20686.44 1957.44 20418.44 1957.44Q20273.44 1957.44 20177.44 1895.44ZM20208.44 1740.44Q20309.44 1858.44 20456.44 1858.44Q20632.44 1858.44 20755.94 1710.44Q20879.44 1562.44 20879.44 1350.44Q20879.44 1197.44 20809.44 1102.44Q20739.44 1007.44 20627.44 1007.44Q20487.44 1007.44 20323.44 1165.44ZM22424.44 1139.44Q22198.44 1535.44 21967.44 1758.94Q21736.44 1982.44 21552.44 1982.44Q21440.44 1982.44 21371.94 1909.44Q21303.44 1836.44 21303.44 1717.44Q21303.44 1672.44 21323.44 1574.44L21345.44 1464.44Q21394.44 1226.44 21394.44 1130.44Q21394.44 1073.44 21360.44 1037.44Q21490.44 1007.44 21523.44 1007.44Q21597.44 1007.44 21597.44 1111.44Q21597.44 1188.44 21568.44 1332.44L21529.44 1527.44Q21500.44 1668.44 21500.44 1710.44Q21500.44 1834.44 21605.44 1834.44Q21730.44 1834.44 21938.44 1623.94Q22146.44 1413.44 22341.44 1090.44ZM21534.44 635.44 21548.44 636.44Q21615.44 633.44 21740.94 568.94Q21866.44 504.44000000000005 21937.44 437.44000000000005Q21893.44 575.44 21781.44 668.44Q21611.44 810.44 21551.44 810.44Q21511.44 810.44 21511.44 761.44Q21511.44 691.44 21534.44 635.44ZM23003.44 1346.44Q22875.44 1611.44 22687.94 1796.94Q22500.44 1982.44 22361.44 1982.44Q22255.44 1982.44 22191.94 1887.94Q22128.44 1793.44 22128.44 1636.44Q22128.44 1323.44 22317.94 1085.44Q22507.44 847.44 22756.44 847.44Q22907.44 847.44 23083.44 941.44Q23109.44 848.44 23295.44 848.44Q23307.44 848.44 23334.44 849.44Q23277.44 936.44 23247.44 1087.44L23230.44 1172.44Q23201.44 1314.44 23201.44 1504.44Q23201.44 1723.44 23303.44 1723.44Q23411.44 1723.44 23598.94 1542.94Q23786.44 1362.44 23967.44 1083.44L24045.44 1137.44Q23860.44 1467.44 23622.44 1687.94Q23384.44 1908.44 23213.44 1908.44Q22997.44 1908.44 22997.44 1548.44Q22997.44 1473.44 23003.44 1346.44ZM23050.44 1107.44Q22840.44 970.44 22701.44 970.44Q22550.44 970.44 22440.44 1153.94Q22330.44 1337.44 22330.44 1589.44Q22330.44 1791.44 22462.44 1791.44Q22605.44 1791.44 23009.44 1163.44Q23014.44 1155.44 23050.44 1107.44ZM24613.44 1372.44Q24457.44 1653.44 24286.94 1817.94Q24116.44 1982.44 23982.44 1982.44Q23875.44 1982.44 23812.44 1888.94Q23749.44 1795.44 23749.44 1638.44Q23749.44 1322.44 23937.44 1084.94Q24125.44 847.44 24374.44 847.44Q24523.44 847.44 24699.44 942.44L24806.44 403.44000000000005Q24718.44 421.44000000000005 24660.44 421.44000000000005Q24572.44 421.44000000000005 24531.44 379.94000000000005Q24490.44 338.44000000000005 24465.44 224.44000000000005Q24537.44 273.44000000000005 24686.44 273.44000000000005Q24871.44 273.44000000000005 25043.44 205.44000000000005L24825.44 1301.44Q24788.44 1485.44 24788.44 1614.44Q24788.44 1786.44 24886.44 1786.44Q24982.44 1786.44 25205.94 1561.44Q25429.44 1336.44 25578.44 1090.44L25660.44 1142.44Q25482.44 1468.44 25215.94 1725.44Q24949.44 1982.44 24790.44 1982.44Q24588.44 1982.44 24588.44 1658.44Q24588.44 1524.44 24613.44 1372.44ZM24666.44 1107.44Q24458.44 970.44 24320.44 970.44Q24170.44 970.44 24060.94 1154.44Q23951.44 1338.44 23951.44 1589.44Q23951.44 1791.44 24083.44 1791.44Q24225.44 1791.44 24629.44 1163.44Q24636.44 1152.44 24666.44 1107.44ZM25584.44 1541.44Q25584.44 1834.44 25832.44 1834.44Q26047.44 1834.44 26306.44 1629.44Q26565.44 1424.44 26773.44 1089.44L26858.44 1136.44Q26662.44 1502.44 26348.94 1742.44Q26035.44 1982.44 25754.44 1982.44Q25574.44 1982.44 25469.94 1866.44Q25365.44 1750.44 25365.44 1549.44Q25365.44 1259.44 25554.94 1053.44Q25744.44 847.44 26011.44 847.44Q26140.44 847.44 26217.94 912.44Q26295.44 977.44 26295.44 1086.44Q26295.44 1265.44 26079.94 1403.44Q25864.44 1541.44 25584.44 1541.44ZM25592.44 1445.44Q25801.44 1434.44 25950.94 1325.44Q26100.44 1216.44 26100.44 1073.44Q26100.44 945.44 25986.44 945.44Q25850.44 945.44 25735.44 1091.44Q25620.44 1237.44 25592.44 1445.44ZM27175.44 1605.44Q27209.44 1681.44 27209.44 1750.44Q27209.44 1903.44 27081.44 2016.94Q26953.44 2130.44 26781.44 2130.44Q26680.44 2130.44 26609.44 2078.44Q26538.44 2026.44 26538.44 1953.44Q26538.44 1875.44 26635.94 1795.44Q26733.44 1715.44 26962.44 1605.44L26882.44 1476.44Q26736.44 1241.44 26736.44 1109.44Q26736.44 919.44 26957.44 803.44Q27093.44 855.44 27093.44 934.44Q27093.44 1046.44 26920.44 1149.44L27034.44 1359.44L27123.44 1521.44Q27314.44 1407.44 27411.44 1325.94Q27508.44 1244.44 27656.44 1074.44L27736.44 1123.44Q27521.44 1411.44 27175.44 1605.44ZM27005.44 1695.44Q26711.44 1853.44 26711.44 1940.44Q26711.44 2022.44 26830.44 2022.44Q26918.44 2022.44 26973.44 1962.94Q27028.44 1903.44 27028.44 1809.44Q27028.44 1753.44 27005.44 1695.44Z%22/></svg>");
    /* logo-fin */
    -webkit-mask: var(--logo) no-repeat center / contain;
    mask: var(--logo) no-repeat center / contain;
  }
  .marque-logo .repli { position: absolute; left: -9999px; }
}

.marque-logo .repli {
  font-size: 1.3rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.2em;
}

.signature {
  margin: 0.5rem 0 0;
  font-size: 1.02rem;
  font-style: italic;
  color: var(--encre-douce);
}

.navigation {
  max-width: var(--mesure);
  margin: 1.5rem auto 0;
  border-top: 1px solid var(--filet-clair);
}
.navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 1.15rem;
}
.navigation a {
  display: inline-block;
  padding: 0.7rem 0;
  color: var(--encre);
  text-decoration: none;
  font-size: 1.06rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.navigation a:hover { color: var(--accent); }
.navigation a[aria-current="page"] { color: var(--accent); }

/* Structure */

main {
  max-width: var(--mesure);
  margin: 0 auto;
  padding: 3rem 1.5rem 4.5rem;
}

h1 {
  font-size: clamp(1.6rem, 3.4vw, 2.3rem);
  line-height: 1.2;
  font-weight: 400;
  margin: 0 0 1rem;
  letter-spacing: 0.01em;
}

h2 {
  font-size: 1.4rem;
  font-weight: 400;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.06em;
  margin: 3rem 0 1rem;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid var(--filet-clair);
}

h3 {
  font-size: 1rem;
  font-style: italic;
  font-weight: 400;
  margin: 1.75rem 0 0.4rem;
}

p { margin: 0 0 1.1rem; }

.chapeau {
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.6;
  margin-bottom: 2rem;
}


/* Accueil, mise en avant : liste verticale, pas de grille de cartes */

.avant {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}

.avant li {
  display: grid;
  grid-template-columns: 6rem 1fr;
  gap: 1.5rem;
  align-items: start;
  padding: 1.5rem 0;
  border-top: 1px solid var(--filet-clair);
}
.avant li:last-child { border-bottom: 1px solid var(--filet-clair); }

/* Le filet du premier element doublerait celui de l'intertitre juste au-dessus. */
.avant li:first-child,
.catalogue > li:first-child .livre { border-top: 0; padding-top: 0.25rem; }

.avant img { width: 100%; height: auto; border: 1px solid var(--filet-clair); }

.avant .titre {
  font-size: 1.15rem;
  margin: 0 0 0.2rem;
}
.avant .titre a { color: var(--encre); text-decoration: none; }
.avant .titre a:hover { color: var(--accent); text-decoration: underline; }

.avant .auteurs {
  margin: 0 0 0.4rem;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--encre-douce);
}
.avant .prix { margin: 0; font-size: 0.9rem; color: var(--encre-douce); }
.avant .fiche-courte {
  margin: 0 0 0.6rem;
  font-size: 0.95rem;
  color: var(--encre-douce);
  font-variant-numeric: lining-nums;
}
.avant blockquote {
  margin: 0;
  font-size: 1rem;
  font-style: italic;
  color: var(--encre);
}
.avant blockquote .source {
  display: block;
  font-style: normal;
  font-size: 0.88rem;
  color: var(--encre-douce);
}
.avant .vignette { display: block; }

/* Rubriques : simple liste de renvois, sans encadre */

.rubriques {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  columns: 2;
  column-gap: 3rem;
}
.rubriques li {
  break-inside: avoid;
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--filet-clair);
}
.rubriques a { text-decoration: none; display: block; }
.rubriques .nom {
  display: block;
  font-size: 1.05rem;
  color: var(--encre);
}
.rubriques a:hover .nom { color: var(--accent); }
.rubriques .compte {
  font-size: 0.82rem;
  font-style: italic;
  color: var(--encre-douce);
}

/* Liste de livres d'une rubrique */

.catalogue { list-style: none; margin: 2rem 0 0; padding: 0; }

.livre {
  display: grid;
  grid-template-columns: 7rem 1fr;
  gap: 1.75rem;
  align-items: start;
  padding: 1.75rem 0;
  border-top: 1px solid var(--filet-clair);
}
.catalogue > li:last-child .livre,
.catalogue > .livre:last-child { border-bottom: 1px solid var(--filet-clair); }

.livre img { width: 100%; height: auto; border: 1px solid var(--filet-clair); }

.livre h2 {
  font-size: 1.15rem;
  font-variant-caps: normal;
  text-transform: none;
  letter-spacing: -0.003em;
  border: 0;
  padding: 0;
  margin: 0 0 0.3rem;
  line-height: 1.3;
}
.livre h2 a { color: var(--encre); text-decoration: none; }
.livre h2 a:hover { color: var(--accent); text-decoration: underline; }

.livre .auteurs {
  font-size: 0.9rem;
  font-style: italic;
  color: var(--encre-douce);
  margin: 0 0 0.5rem;
}
.livre .fiche-courte {
  font-size: 0.95rem;
  color: var(--encre-douce);
  margin: 0;
  font-variant-numeric: lining-nums;
}

.prix { font-variant-numeric: lining-nums tabular-nums; }

.indispo {
  display: inline-block;
  font-size: 0.92rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.05em;
  color: var(--encre-douce);
  border-bottom: 1px solid var(--filet-clair);
}

/* Fiche de livre.

   Quatre blocs dans le HTML, dans l'ordre ou on veut les lire sur telephone :
   le titre, la couverture avec les donnees du livre, le texte, la commande.

   Sur telephone et sur ecran moyen, ils s'empilent dans cet ordre. Au-dela de
   1 400 pixels, la page passe a deux colonnes : le texte a gauche, la
   couverture et la commande a droite, cette derniere restant a l'ecran pendant
   la lecture. Le seuil est haut exprès : plus tot, la colonne de texte
   tomberait sous cinquante caracteres par ligne, c'est-a-dire illisible. */

/* La fiche est une grille a une colonne sur telephone. Le bloc lateral se
   dissout avec display: contents, ce qui permet de placer la couverture et la
   commande independamment : couverture apres le titre, commande apres le
   texte, et non l'inverse. */

.fiche { display: grid; grid-template-columns: 1fr; }
/* Les deux conteneurs se dissolvent sur les petits ecrans : la grille place
   alors chaque morceau ou il doit etre lu. Ils reprennent corps sur grand
   ecran, ou ils forment les deux vraies colonnes. */
.fiche-principal, .fiche-cote { display: contents; }
/* Ordre de lecture sur telephone : le titre, la couverture pour reconnaitre
   le livre, le texte que la lectrice est venue lire, puis les donnees de
   reference et la commande. Parution, pages et ISBN ne decident de rien : les
   mettre avant le texte le repoussait de 200 pixels. */
.fiche-titre { grid-row: 1; }
.fiche-visuel { grid-row: 2; }
.fiche-corps { grid-row: 3; }
.fiche-cote .technique { grid-row: 4; margin-top: 2rem; }
.fiche-cote .commande { grid-row: 5; }

.fiche-titre h1 { margin-bottom: 0.4rem; }

/* Le complement du titre, quand la BnF en atteste un. Il se lit comme la
   suite du titre et non comme une accroche : meme graisse, meme couleur
   d'encre, une taille en dessous. Le romain lui reste, l'italique etant deja
   pris par la ligne des auteurs juste dessous. Sur les quatre fiches qui en
   portent un, le plus long fait 103 caracteres : la mesure est bornee pour
   qu'il ne parte pas en pave. */
.fiche-titre .sous-titre {
  font-size: clamp(1.15rem, 2.2vw, 1.5rem);
  line-height: 1.3;
  font-weight: 400;
  color: var(--encre-douce);
  max-width: 34rem;
  margin: 0 0 0.9rem;
}

.fiche .auteurs {
  font-size: 1.05rem;
  font-style: italic;
  color: var(--encre-douce);
  margin: 0 0 1.5rem;
}

/* Sur telephone, la couverture est le seul visuel de la page : elle est
   centree et occupe 62 pour cent de la largeur, sans jamais depasser la
   definition reelle de son fichier, faute de quoi elle deviendrait molle.
   La pleine largeur a ete essayee et ecartee : elle mange 80 pour cent du
   premier ecran et repousse sous le pli le texte que la lectrice est venue
   lire. */

.fiche-visuel {
  margin-bottom: 2rem;
  text-align: center;
}
.fiche-visuel img {
  width: min(62vw, var(--couverture-reelle, 22rem));
  height: auto;
  border: 1px solid var(--filet-clair);
}

.technique {
  margin: 1.25rem 0 0;
  padding: 0;
  font-size: 0.95rem;
  border-top: 1px solid var(--filet-clair);
  max-width: 26rem;
}
.technique div {
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--filet-clair);
}
.technique .cle {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.05em;
  font-size: 0.92rem;
  color: var(--encre-douce);
}
.technique .valeur { font-variant-numeric: lining-nums tabular-nums; }

.presse { margin: 0; padding: 0; }
.presse blockquote {
  margin: 0 0 1.75rem;
  padding: 0;
  font-size: 1.05rem;
  font-style: italic;
  text-indent: -0.4em;
}
.presse .source {
  display: block;
  margin-top: 0.35rem;
  font-style: normal;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  color: var(--encre-douce);
}

/* Reproduction d'un article de presse, dans presse/. Ajoute le 17 aout 2026.
   Le filet a gauche court sur toute la longueur du texte : il dit au lecteur que
   ce qu'il lit est la voix d'un tiers, pas celle de la maison. Le retrait se
   resserre en petit ecran pour ne pas manger la mesure. */
.article-presse {
  border-left: 2px solid var(--filet-clair);
  padding-left: clamp(0.9rem, 3.5vw, 1.6rem);
}
.article-presse h1 { margin-top: 0; }

.provenance {
  margin: 2.5rem 0 0;
  padding-top: 1rem;
  border-top: 1px solid var(--filet-clair);
  font-size: 0.9rem;
  color: var(--encre-douce);
}

/* Lien vers la reproduction integrale, sous les citations d'un titre. */
.lien-article {
  margin: 0.25rem 0 0;
  font-size: 0.95rem;
}

.commande {
  margin: 3rem 0 0;
  padding: 1.75rem 0 0;
  border-top: 3px double var(--filet);
}
.commande .boutons { display: flex; flex-wrap: wrap; gap: 0.6rem; }
.commande h2 { margin-top: 0; border: 0; padding: 0; }
.commande .tarif { font-variant-numeric: lining-nums; }
.commande .tarif { font-size: 1.3rem; margin: 0 0 1rem; }

/* Le prix nomme l'edition dont il est le prix, ajoute le 13 aout 2026. La
   precision suit le nombre sur la meme ligne, au corps du texte courant : elle
   doit se lire, sans disputer au nombre le premier regard. Sans elle, 16,00
   euros semblait valoir aussi pour l'ePub a 3,99. */
/* L'objet du prix se detache du montant partout, et pas seulement dans le bloc
   de commande d'une fiche. Le selecteur portait .commande en tete : sur
   l'accueil, sur les quatre rubriques et sur les quinze pages d'auteur, le
   montant et son objet se collaient, 16,00 EURl'edition imprimee. Le
   proprietaire l'a signale le 20 aout 2026. */
.prix-objet {
  font-size: 0.98rem;
  color: var(--encre-douce);
  margin-left: 0.45rem;
}

.revendeurs {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
  font-size: 0.98rem;
}
.revendeurs li {
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--filet-clair);
}
.revendeurs li:last-child { border-bottom: 0; }
/* La classe .ou est retiree le 13 aout 2026. Elle poussait les boutiques de la
   version numerique sous leur libelle, en petit gris, du temps ou la rangee
   portait un prix et une mention vague. Depuis que le prix est parti et que les
   trois boutiques sont nommees et cliquables, elles tiennent sur la ligne du
   libelle, au corps du texte : c'etaient les seuls mots cliquables du bloc, et
   ils en etaient les plus petits et les plus pales. */

/* Lien de suite d'un bloc lateral. Il remplace le bouton plein, qui menait a
   une page generale deja presente dans le menu. */
.suite-cote {
  margin: 1.25rem 0 0;
  font-size: 0.93rem;
}

.bouton {
  display: inline-block;
  background: var(--accent);
  color: #fff;
  padding: 0.55rem 1.5rem;
  text-decoration: none;
  font-size: 1.02rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.06em;
}
.bouton:hover { background: var(--encre); }

/* Marqueur de point non tranche, visible en maquette seulement */

.a-trancher {
  display: block;
  margin: 1.25rem 0;
  padding: 0.7rem 0.9rem;
  background: var(--accent-clair);
  border-left: 3px solid var(--accent);
  font-size: 0.95rem;
  font-style: normal;
  color: #16304f;
}
.a-trancher strong { font-variant-caps: all-small-caps; letter-spacing: 0.05em; font-size: 0.95rem; }

/* Pied */

.pied {
  border-top: 1px solid var(--filet-clair);
  padding: 2.5rem 1.5rem 3.5rem;
  font-size: 0.95rem;
}
.pied-corps {
  max-width: var(--mesure);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 2rem 3rem;
  align-items: start;
}
.pied h2 {
  font-size: 0.95rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.06em;
  border: 0;
  padding: 0;
  margin: 0 0 0.6rem;
  color: var(--encre-douce);
}
.pied ul { list-style: none; margin: 0; padding: 0; }
.pied li { margin-bottom: 0.35rem; }
.pied p { margin: 0 0 0.9rem; color: var(--encre-douce); }
.pied p:last-child { margin-bottom: 0; }
/* Bascule de comparaison, retiree avant mise en ligne */

.bascule {
  position: fixed;
  right: 0.75rem;
  bottom: 0.75rem;
  background: var(--accent);
  color: #fff;
  font-size: 0.78rem;
  padding: 0.5rem 0.7rem;
  line-height: 1.4;
}
.bascule a { color: #fff; }
.bascule strong { display: block; }

/* Grand ecran : la page respire, le texte grandit avec elle. */

/* Tablette : couverture et donnees du livre cote a cote, ce qui evite de
   pousser le texte tres bas. Le titre reste sur toute la largeur. */

@media (min-width: 34rem) and (max-width: 51.999rem) {
  .fiche { grid-template-columns: 10rem 1fr; column-gap: 1.75rem; align-items: start; }
  .fiche-visuel { text-align: left; }
  .fiche-visuel img { width: 100%; }
  .fiche-titre { grid-column: 1 / -1; grid-row: 1; }
  .fiche-visuel { grid-column: 1; grid-row: 2; margin-bottom: 1.5rem; }
  .fiche-cote .technique { grid-column: 2; grid-row: 2; margin-top: 0; }
  .fiche-corps { grid-column: 1 / -1; grid-row: 3; }
  .fiche-cote .commande { grid-column: 1 / -1; grid-row: 4; }
  .fiche-visuel img { max-width: 100%; }
  .technique div { grid-template-columns: 7.5rem 1fr; }
}

@media (min-width: 52rem) {
  /* Couverture et donnees a droite du titre seulement. Le texte passe sous
     les deux colonnes et garde donc toute la mesure : c'est ce qui compte, un
     texte a quarante-six caracteres par ligne ne se lit pas. */
  .fiche { grid-template-columns: 1fr 13rem; column-gap: 2.5rem; align-items: start; }
  .fiche-titre { grid-column: 1; grid-row: 1; }
  .fiche-cote .technique { grid-column: 1; grid-row: 2; margin-top: 0; }
  .fiche-visuel { grid-column: 2; grid-row: 1 / span 2; margin-bottom: 0; text-align: left; }
  .fiche-visuel img { width: 100%; }
  .fiche-corps { grid-column: 1 / -1; grid-row: 3; margin-top: 2rem; }
  .fiche-cote .commande { grid-column: 1 / -1; grid-row: 4; }
}

@media (min-width: 68rem) {
  :root { --mesure: 50rem; --corps: 1.26rem; }
  h2 { font-size: 1.5rem; }
  .fiche-tete { grid-template-columns: 13rem 1fr; gap: 2.5rem; }
  .livre { grid-template-columns: 8rem 1fr; gap: 1.75rem; }
  .avant li { grid-template-columns: 7rem 1fr; }
}

@media (min-width: 84rem) {
  :root { --mesure: 54rem; --corps: 1.34rem; }
  h2 { font-size: 1.6rem; }
}

/* Deux colonnes sur la fiche de livre, a partir de 1 400 pixels. La page
   s'elargit a cette occasion, sinon la colonne de texte serait trop mince. */

@media (min-width: 88rem) {
  :root { --mesure: 66rem; }

  /* Les deux blocs de droite chevauchent les lignes de gauche : sans ce
     chevauchement, la premiere ligne prendrait la hauteur de la couverture et
     laisserait un trou sous le titre. */
  /* Deux colonnes, deux conteneurs, aucune ligne de grille a partager : c'est
     ce qui evite le blanc entre le titre et le texte. Un element qui chevauche
     deux lignes gonfle la premiere, quoi qu'on lui demande. */
  .fiche {
    grid-template-columns: 1fr 20rem;
    column-gap: 3.5rem;
    align-items: start;
  }
  .fiche-principal { display: block; grid-column: 1; }
  .fiche-cote {
    display: block;
    grid-column: 2;
    position: sticky;
    top: 1.5rem;
    font-size: 0.97rem;
    line-height: 1.5;
  }
  .fiche-cote .commande,
  .fiche-cote .technique { grid-column: auto; grid-row: auto; }
  .fiche-cote .technique { margin-top: 1.25rem; }
  .fiche-corps { margin-top: 0; }
  .fiche-cote .commande { margin-top: 1.75rem; }

  .fiche-visuel img { max-width: 100%; }
  .technique { max-width: none; }
  .technique div { grid-template-columns: 7.5rem 1fr; }

  .fiche-cote .commande {
    padding-top: 1.25rem;
    border-top-width: 1px;
    border-top-style: solid;
  }
  .fiche-cote .commande h2 { font-size: 1.3rem; }
}

/* Telephone */

@media (max-width: 40rem) {
  main { padding: 1.5rem 1.1rem 3rem; }
  /* En-tete resserre : sur un ecran de 700 pixels de haut, chaque dizaine de
     pixels gagnee ici, c'est autant de texte visible sans defiler. */
  .tete { padding: 1rem 1.1rem 0; }
  .signature { margin-top: 0.35rem; line-height: 1.4; }
  .navigation { margin-top: 0.9rem; }
  .navigation a { padding: 0.45rem 0; }
  /* Quinze pixels manquaient pour que la premiere couverture passe au-dessus
     du pli sur un ecran de 390 par 700. Ils sont pris ici. */
  h1 { margin-bottom: 0.7rem; }
  .chapeau { margin-bottom: 1.25rem; }
  .preuves { gap: 0.6rem 2rem; padding: 0.85rem 0; margin: 1rem 0 1.5rem; }
  .marque { letter-spacing: 0.18em; font-size: 1rem; }
  .fiche-tete { grid-template-columns: 1fr; gap: 1.25rem; }
  /* la couverture n'est plus bridee ici : c'est ce plafond qui l'empechait d'etre centree */
  .avant li { grid-template-columns: 4.5rem 1fr; gap: 1rem; }
  .livre { grid-template-columns: 5.5rem 1fr; gap: 1rem; }
  .rubriques { columns: 1; }
  /* Deux colonnes gardees sur telephone : en une seule, les cinq lignes du
     tableau prenaient 120 pixels de plus, autant de texte repousse. */
  .technique div { grid-template-columns: 6.5rem 1fr; gap: 0.75rem; }
  .navigation ul { gap: 0 1.1rem; }
}

/* Fil d'Ariane, en tete des fiches de livre */

.ariane {
  font-size: 0.9rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.04em;
  color: var(--encre-douce);
  margin-bottom: 1.5rem;
}
.ariane a { color: var(--encre-douce); text-decoration: none; }
.ariane a:hover { color: var(--accent); text-decoration: underline; }

/* Autres titres de la meme rubrique, en pied de fiche */

.voisins { margin-top: 3rem; }
.voisins ul { list-style: none; margin: 0 0 1rem; padding: 0; }
.voisins li {
  padding: 0.6rem 0;
  border-bottom: 1px solid var(--filet-clair);
}
.voisins li a { text-decoration: none; }
.voisins li a:hover { text-decoration: underline; }
.voisins .auteurs {
  display: block;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--encre-douce);
}

/* Bandeau du mode apercu. Ne s'affiche que sur la maquette de travail. */

.apercu {
  margin: 0;
  padding: 0.6rem 1.5rem;
  background: var(--encre);
  color: #fff;
  font-size: 0.9rem;
  text-align: center;
}

/* Impression : ni navigation ni bandeau, et les adresses des liens externes
   apparaissent, sinon un lien imprime ne mene nulle part. */

@media print {
  .navigation, .apercu, .ariane, .voisins, .bouton { display: none; }
  body { font-size: 11pt; line-height: 1.45; }
  main { max-width: none; padding: 0; }
  .tete { border-bottom: 1px solid #000; }
  a { color: #000; text-decoration: underline; }
  main a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 9pt; }
  .a-trancher { border: 1px solid #000; background: none; }
  h2 { break-after: avoid; }
  .livre, .avant li, blockquote { break-inside: avoid; }
}

/* Liste des auteurs */

.auteurs-liste {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
}
.auteurs-liste li {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: 0.7rem 0;
  border-bottom: 1px solid var(--filet-clair);
}
.auteurs-liste a { text-decoration: none; font-size: 1.1rem; }
.auteurs-liste a:hover { text-decoration: underline; }
.auteurs-liste .compte {
  font-size: 0.9rem;
  font-style: italic;
  color: var(--encre-douce);
  white-space: nowrap;
}

/* Notices biographiques, sur les pages d'auteur */

.notice {
  padding: 1rem 0 0.25rem;
  border-top: 1px solid var(--filet-clair);
}
.notice .source {
  font-size: 0.9rem;
  font-style: italic;
  color: var(--encre-douce);
}
/* Quand une fiche donne une presentation propre a son livre, cette phrase
   l'annonce avant les notices, pour que le lecteur sache pourquoi il en voit
   deux. Elle remplace le marqueur de travail retire le 24 aout 2026. */
.chapeau-notice {
  margin: 0 0 0.5rem;
  font-size: 0.95rem;
  color: var(--encre-douce);
}

/* Revue de presse */

.presse-titre { margin-bottom: 2.5rem; }
.presse-titre h2 a { color: var(--encre); text-decoration: none; }
.presse-titre h2 a:hover { color: var(--accent); text-decoration: underline; }

/* Sommaire et extrait en PDF, sur la fiche */

.pieces { margin-bottom: 1rem; }
.fiche-cote .pieces {
  margin: 1rem 0 0;
  padding-top: 0.9rem;
  border-top: 1px solid var(--filet-clair);
}

/* Mention de format sur un lien de telechargement */

.format {
  font-size: 0.88em;
  color: var(--encre-douce);
  white-space: nowrap;
}

.tarif-barre { color: var(--encre-douce); }

.fiche-titre .etat { margin: -0.75rem 0 1.5rem; }

/* --- Accueil : bandeau de preuves ------------------------------------------

   Trois faits verifiables, la ou un visiteur qui ne connait pas la maison
   cherche a savoir a qui il a affaire. Aucune promesse, aucun chiffre gonfle :
   le nombre de titres, la qualite des auteurs, le compte des citations de
   presse, qui se verifie en un clic. */

/* Bandeau de preuves. Chaque cellule porte un fait sur une ligne et sa
   precision sur la suivante, en gris. Le fait est compose plus grand que le
   texte courant : c'est une affirmation, pas une mention. Aucun cadre, aucune
   icone, aucune ombre : la mise en valeur tient aux deux filets et au corps.

   Sur telephone, les trois cellules s'empilent et restent centrees. */

.preuves {
  list-style: none;
  margin: 1.25rem 0 2rem;
  padding: 1rem 0;
  border-top: 1px solid var(--filet-clair);
  border-bottom: 1px solid var(--filet-clair);
  display: grid;
  gap: 0.8rem 2rem;
  text-align: center;
}
.preuves li { line-height: 1.3; }
.preuves strong {
  display: block;
  font-weight: 400;
  font-size: 1.12rem;
  color: var(--encre);
}
.preuves .detail {
  display: block;
  margin-top: 0.1rem;
  font-size: 0.98rem;
  color: var(--encre-douce);
}
.preuves a { text-decoration: none; color: inherit; }
.preuves a strong { color: var(--accent); }
.preuves a:hover strong { text-decoration: underline; }

@media (min-width: 46rem) {
  .preuves {
    grid-template-columns: repeat(3, 1fr);
    padding: 1.5rem 0;
    gap: 0 2.5rem;
  }
  .preuves strong { font-size: 1.35rem; }
}

/* --- Accueil : rubriques illustrees --------------------------------------- */

.rubriques-illustrees {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(9rem, 1fr));
  gap: 2rem 1.5rem;
}
.rubriques-illustrees a {
  display: block;
  text-decoration: none;
  color: var(--encre);
}
.rubriques-illustrees img {
  width: 100%;
  height: auto;
  border: 1px solid var(--filet-clair);
  margin-bottom: 0.6rem;
}
.rubriques-illustrees .nom {
  display: block;
  font-size: 1.05rem;
}
.rubriques-illustrees a:hover .nom { color: var(--accent); text-decoration: underline; }
.rubriques-illustrees .compte {
  display: block;
  font-size: 0.9rem;
  font-style: italic;
  color: var(--encre-douce);
}

/* --- Accueil : vitrine de toutes les couvertures -------------------------- */

/* Trois colonnes sur telephone : a deux, les vingt couvertures faisaient dix
   ecrans de haut, ce qui transforme la vitrine en corvee. */

.vitrine {
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6.2rem, 1fr));
  gap: 1.5rem 1rem;
}
.vitrine .detail { font-size: 0.85rem; }

@media (min-width: 34rem) {
  .vitrine {
    grid-template-columns: repeat(auto-fill, minmax(8.5rem, 1fr));
    gap: 2rem 1.5rem;
  }
  .vitrine .detail { font-size: 0.9rem; }
}
.vitrine a { display: block; text-decoration: none; color: var(--encre); }
.vitrine img {
  width: 100%;
  height: auto;
  border: 1px solid var(--filet-clair);
  margin-bottom: 0.5rem;
}
.vitrine .titre {
  display: block;
  font-size: 1rem;
  line-height: 1.3;
}
.vitrine a:hover .titre { color: var(--accent); text-decoration: underline; }
.vitrine .detail {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.9rem;
  color: var(--encre-douce);
}

.suite {
  margin-top: 2.5rem;
  font-size: 1rem;
}

/* Citations de presse sur l'accueil : trois livres, trois organes differents */

.paroles blockquote {
  margin: 0 0 1.6rem;
  font-size: 1.05rem;
}
.paroles .source { margin-top: 0.3rem; }
.paroles .source a { text-decoration: none; }
.paroles .source a:hover { text-decoration: underline; }

@media (min-width: 60rem) {
  .paroles {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
  }
  .paroles blockquote { margin-bottom: 0; }
}

/* Les deux calculateurs de la fiche de nutrition. L3.5, lot 2.
   Un seul endroit du site porte un formulaire : la mise en forme reste
   volontairement sobre, sans rien qui ressemble a un widget. */

.calculateurs {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--filet-clair);
}
.calculateurs-intro,
.calculateurs-source {
  font-size: 0.95rem;
  color: var(--encre-douce);
}
.calculateurs-source {
  margin-top: 1.5rem;
  font-style: italic;
}
.calculateurs-sans-js {
  padding: 0.7rem 0.9rem;
  background: var(--papier-creux);
  border-left: 3px solid var(--filet-clair);
  font-size: 0.95rem;
}

.calculateur,
.aliments-recherche,
.aliments-quantite {
  margin: 1.75rem 0;
  padding: 1.25rem 1.4rem 1.4rem;
  background: var(--papier-creux);
}
.calculateur h3,
.aliment-choisi h3 {
  margin-top: 0;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.04em;
}

/* Un champ par ligne : le formulaire se lit de haut en bas, au clavier comme
   a l'oeil, et la ligne de saisie ne depend pas de la largeur de l'ecran. */

.calculateur .champ,
.aliments-recherche .champ,
.aliments-quantite .champ {
  margin: 0 0 1.1rem;
  padding: 0;
  border: 0;
}
.calculateur label,
.calculateur legend,
.aliments-recherche label,
.aliments-quantite label {
  display: block;
  padding: 0;
  font-weight: 600;
}
.calculateur .unite,
.aliments-recherche .unite,
.aliments-quantite .unite {
  display: block;
  margin: 0.1rem 0 0.35rem;
  font-size: 0.9rem;
  color: var(--encre-douce);
}
.calculateur input[type="text"],
.aliments-recherche input[type="text"],
.aliments-quantite input[type="text"] {
  width: 7rem;
  padding: 0.4rem 0.5rem;
  border: 1px solid var(--encre-douce);
  background: var(--papier);
  font-family: inherit;
  font-size: 1.02rem;
  /* Chiffres tabulaires, comme les prix et les ISBN ailleurs sur le site. */
  font-variant-numeric: tabular-nums lining-nums;
}
.calculateur input[aria-invalid="true"],
.aliments-recherche input[aria-invalid="true"],
.aliments-quantite input[aria-invalid="true"] {
  border-color: #a3231d;
  border-width: 2px;
}
.calculateur .choix {
  display: inline-block;
  margin-right: 1.2rem;
  font-weight: 400;
}
.calculateur .choix input { margin-right: 0.25rem; }

/* Les boites de message et de resultat restent dans le document, vides, pour
   que leur region aria-live existe dans l'arbre d'accessibilite avant d'etre
   remplie. Masquer par hidden l'en sortirait, et l'apparition du message ne
   serait pas annoncee de facon fiable. Vides, elles ne prennent aucune place. */

.calculateur .erreur:empty,
.calculateur .resultat:empty,
.aliments-recherche .erreur:empty,
.aliments-quantite .erreur:empty { display: none; }

.calculateur .erreur,
.aliments-recherche .erreur,
.aliments-quantite .erreur {
  margin: 0.35rem 0 0;
  font-size: 0.95rem;
  color: #8f1e19;
}
.calculateur .resultat {
  margin: 1.1rem 0 0;
  padding: 0.7rem 0.9rem;
  background: var(--accent-clair);
  border-left: 3px solid var(--accent);
  color: #16304f;
  font-variant-numeric: tabular-nums lining-nums;
}

/* La table de composition des aliments, sur sa page. L3.5, lot 5.
   Les deux formulaires reprennent la mise en forme des calculateurs, plus
   haut : c'est le meme geste, chercher puis saisir une quantite, et deux
   habillages differents pour la meme chose feraient croire a deux outils. */

.aliments-provenance {
  font-size: 0.95rem;
  color: var(--encre-douce);
}

/* Le champ de recherche est plus large que ceux des calculateurs : on y tape
   un nom de plat, pas un nombre a trois chiffres. */
#aliment-saisie {
  width: min(100%, 22rem);
  font-variant-numeric: normal;
}

.aliments-sans-js {
  padding: 0.7rem 0.9rem;
  background: var(--papier-creux);
  font-size: 0.95rem;
}

.aliments-resultats:empty,
.aliment-total:empty { display: none; }

.aliments-resultats {
  margin: 1.25rem 0;
  font-size: 0.95rem;
}

/* La liste des trouvailles : un bouton par aliment, sur toute la largeur, pour
   qu'une cible reste atteignable au doigt sur un telephone. */
.aliments-liste {
  margin: 0.75rem 0 0;
  padding: 0;
  list-style: none;
  max-width: 34rem;
  border-top: 1px solid var(--filet-clair);
}
.aliments-liste li { margin: 0; }
.aliment-choix {
  display: block;
  width: 100%;
  padding: 0.5rem 0.6rem;
  border: 0;
  border-bottom: 1px solid var(--filet-clair);
  background: transparent;
  font-family: inherit;
  font-size: 1rem;
  text-align: left;
  color: var(--encre);
  cursor: pointer;
}
.aliment-choix:hover { background: var(--papier-creux); }

.aliment-choisi {
  margin: 1.75rem 0 0;
  padding: 1.25rem 1.4rem;
  background: var(--papier-creux);
}
.aliment-choisi h3 { margin-bottom: 0.2rem; }
.aliment-unite {
  margin: 0 0 0.9rem;
  font-size: 0.95rem;
  color: var(--encre-douce);
}

/* Les quatre valeurs se lisent comme la fiche technique d'un livre, meme
   grille et memes petites capitales. */
.aliment-valeurs {
  margin: 0;
  padding: 0;
  font-size: 0.95rem;
  border-top: 1px solid var(--filet-clair);
  max-width: 26rem;
}
.aliment-valeurs div {
  display: grid;
  grid-template-columns: 9rem 1fr;
  gap: 1rem;
  padding: 0.45rem 0;
  border-bottom: 1px solid var(--filet-clair);
}
.aliment-valeurs .cle {
  font-variant-caps: all-small-caps;
  letter-spacing: 0.05em;
  font-size: 0.92rem;
  color: var(--encre-douce);
}
.aliment-valeurs .valeur { font-variant-numeric: lining-nums tabular-nums; }

.aliment-total {
  margin: 1.25rem 0 0;
  padding: 0.9rem 1.1rem;
  background: var(--accent-clair);
  border-left: 3px solid var(--accent);
  color: #16304f;
}
.aliment-total .cle,
.aliment-total .valeur { color: inherit; }
.aliment-total-titre {
  margin: 0 0 0.6rem;
  font-weight: 600;
}

/* Les menus minceur, sur leur page depuis le 24 aout 2026. L3.5, lot 3.
   Chaque menu porte une ancre, cible d'une des neuf anciennes adresses
   conservees. Le renvoi qui les annonce reste sur la fiche du livre, et il
   sert aussi a la table des aliments : les deux disent la meme chose, un
   echantillon du livre vit sur une page a lui. */

.renvoi-echantillon {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--filet-clair);
}
.menus-livre {
  font-size: 0.95rem;
  color: var(--encre-douce);
}

.menus {
  margin-top: 2.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--filet-clair);
}
.menu {
  margin: 2rem 0;
  padding-top: 1.25rem;
  border-top: 1px solid var(--filet-clair);
}
.menu:first-of-type { border-top: 0; }
.menu h2 {
  margin: 0 0 0.6rem;
  font-variant-caps: all-small-caps;
  letter-spacing: 0.04em;
}
/* Le menu du repas se lit d'un coup d'oeil : liste serree, sans puce, chaque
   plat sur sa ligne, comme sur la carte imprimee dont il vient. */
.menu-plats {
  margin: 0 0 1rem;
  padding: 0.7rem 0.9rem;
  list-style: none;
  background: var(--papier-creux);
}
.menu-plats li { margin: 0; }

/* Une ancre visee depuis une redirection ne doit pas coller au bord haut de
   la fenetre : le titre du menu resterait sous la limite de l'ecran. */
.menu:target { scroll-margin-top: 1.5rem; }
