/*
Theme Name:   Chez Soi, Doucement
Theme URI:    https://ourcozyhomelife.org
Description:  Carnet de cocooning raisonné classé par matière et par ambiance (textiles et plaids, lumière douce, bois et matières naturelles, couleurs chaudes, parfums d'intérieur, coins lecture, rituels, petit budget). Thème enfant GeneratePress. Prototype « Pile de plaids & lueur » : pile de plaids pliés en CSS, halo d'une lampe, étiquette d'entretien. Gowun Batang + Andika ; laine grège, nuit à une lampe, lie-de-vin.
Author:       Chez Soi, Doucement
Template:     generatepress
Version:      1.0.0
Text Domain:  ourcozyhomelife-fr
*/

/* ============================================================
   CHEZ SOI, DOUCEMENT - SYSTÈME DE DESIGN
   Prototype « Pile de plaids & lueur ». Trois signatures en CSS pur :
   1. La pile de plaids : chaque rubrique est une couverture pliée
      (couche arrondie, épaisseur du pli en bas, bord roulé à droite),
      avec sa propre texture tissée en CSS (côtes, velours, chevrons,
      bouclette, gaufre, tartan, chiné, natte). Classes csd-t-<texture>.
   2. La lueur : un halo chaud en radial-gradient, comme une seule lampe
      allumée (bandeau d'accueil, bandes « nuit », pied, tête d'archive).
   3. L'étiquette d'entretien : la petite étiquette cousue d'un plaid
      (pages fixes, fiche « En bref » des articles).
   Règle de formes : photos 14px ; plaids 16px côté pli / 34px côté bord roulé ;
   cartes 14px ; boutons et pastilles en gélule. Accent unique : lie-de-vin.
   Les couleurs des couches sont des teintes de tissu, pas des accents. MOTION≈1.
   ============================================================ */

:root{
  --laine:#ECE7E4;         /* fond de page : laine grège */
  --carte:#F7F4F2;         /* surfaces claires, étiquettes */
  --laine-pale:#E3D9D6;    /* bandes teintées (pile, auteur, têtes d'archive) */
  --vin:#A33E52;           /* accent unique : lie-de-vin (boutons, lisières, liens forts) */
  --vin-fonce:#86303F;     /* liens sur clair (AA 6.8:1 sur laine) */
  --nuit:#1E1520;          /* texte + bandes « nuit à une lampe » */
  --nuit-2:#281C27;        /* seconde bande sombre */
  --lueur:#F2C488;         /* lumière de lampe : halos, détails sur sombre */
  --doux:#5E5258;          /* texte secondaire (6.1:1 sur laine) */
  --filet:#D3C8C6;
  --sur-nuit:#EFE6E3;
  --sur-nuit-doux:#B9A9B0;

  /* teintes de tissu des couches */
  --t-vin:#A33E52;
  --t-miel:#E3B26E;
  --t-noisette:#8C6A4F;
  --t-brique:#C46A5A;
  --t-mauve:#8F7D93;
  --t-ardoise:#4D5A73;
  --t-ecru:#D8CCC2;
  --t-gris:#9A928F;

  --font-titre:'Gowun Batang', 'Georgia', serif;
  --font-texte:'Andika', 'Trebuchet MS', sans-serif;

  --r-img:14px;
  --r-pli:16px 34px 34px 16px;
  --gelule:999px;
  --wrap:1200px;

  --halo:radial-gradient(closest-side, rgba(242,196,136,.62), rgba(242,196,136,.22) 55%, rgba(242,196,136,0));
}

/* ============================================================ TEXTURES DE TISSU */
.csd-t-cotes{ --c:var(--t-vin); --ink:#FFFFFF; --tex:repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 2px, rgba(255,255,255,0) 2px 7px); }
.csd-t-velours{ --c:var(--t-miel); --ink:var(--nuit); --tex:radial-gradient(130% 160% at 18% 0%, rgba(255,255,255,.42), rgba(255,255,255,0) 58%); }
.csd-t-chevrons{ --c:var(--t-noisette); --ink:#FFFFFF; --tex:repeating-linear-gradient(45deg, rgba(255,255,255,.08) 0 4px, rgba(255,255,255,0) 4px 8px), repeating-linear-gradient(-45deg, rgba(0,0,0,.07) 0 4px, rgba(0,0,0,0) 4px 8px); }
.csd-t-bouclette{ --c:var(--t-brique); --ink:var(--nuit); --tex:radial-gradient(circle at 3px 3px, rgba(255,255,255,.30) 1.4px, rgba(255,255,255,0) 1.9px) 0 0 / 7px 7px; }
.csd-t-gaufre{ --c:var(--t-mauve); --ink:var(--nuit); --tex:conic-gradient(rgba(255,255,255,.13) 25%, rgba(255,255,255,0) 0 50%, rgba(255,255,255,.13) 0 75%, rgba(255,255,255,0) 0) 0 0 / 9px 9px; }
.csd-t-tartan{ --c:var(--t-ardoise); --ink:#FFFFFF; --tex:repeating-linear-gradient(90deg, rgba(242,196,136,.22) 0 3px, rgba(242,196,136,0) 3px 28px), repeating-linear-gradient(0deg, rgba(163,62,82,.30) 0 3px, rgba(163,62,82,0) 3px 28px); }
.csd-t-chine{ --c:var(--t-ecru); --ink:var(--nuit); --tex:repeating-linear-gradient(100deg, rgba(30,21,32,.06) 0 1px, rgba(30,21,32,0) 1px 3px), repeating-linear-gradient(12deg, rgba(255,255,255,.35) 0 1px, rgba(255,255,255,0) 1px 4px); }
.csd-t-natte{ --c:var(--t-gris); --ink:var(--nuit); --tex:repeating-linear-gradient(90deg, rgba(0,0,0,.09) 0 6px, rgba(0,0,0,0) 6px 12px), repeating-linear-gradient(0deg, rgba(255,255,255,.12) 0 6px, rgba(255,255,255,0) 6px 12px); }

/* ============================================================ BASE */
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--laine); color:var(--nuit);
  font-family:var(--font-texte); font-size:18px; line-height:1.7;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:var(--vin-fonce); text-underline-offset:3px; }
a:hover{ color:var(--nuit); }
h1,h2,h3,h4,h5{ font-family:var(--font-titre); color:var(--nuit); line-height:1.2; letter-spacing:0; margin:0 0 .5em; font-weight:700; }
p{ margin:0 0 1em; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(1px,1px,1px,1px); white-space:nowrap; }
:focus-visible{ outline:3px solid var(--vin); outline-offset:2px; }

.csd-wrap{ max-width:var(--wrap); margin:0 auto; padding:0 24px; box-sizing:border-box; }
.csd-main{ display:block; }

/* barre de lecture : CSS scroll-driven, invisible sans support */
.csd-progress{ position:fixed; top:0; left:0; right:0; height:3px; z-index:1000; pointer-events:none; background:var(--vin); transform-origin:0 50%; transform:scaleX(0); }
@supports (animation-timeline: scroll()){
  .csd-progress{ animation:csd-lire linear both; animation-timeline:scroll(root); }
  @keyframes csd-lire{ to{ transform:scaleX(1); } }
}
@supports not (animation-timeline: scroll()){ .csd-progress{ display:none; } }

/* boutons (gélules) */
.csd-btn{
  display:inline-flex; align-items:center; gap:10px; white-space:nowrap;
  background:var(--vin); color:#FFFFFF; text-decoration:none;
  font-family:var(--font-texte); font-weight:700; font-size:1rem; line-height:1.2;
  padding:13px 26px; border-radius:var(--gelule); border:0; cursor:pointer;
  box-shadow:inset 0 -3px 0 rgba(30,21,32,.22);
  transition:background-color .2s ease, transform .2s ease;
}
.csd-btn:hover{ background:var(--nuit); color:#FFFFFF; }
.csd-btn:active{ transform:translateY(1px); }
.csd-btn.ligne{ background:transparent; color:var(--nuit); box-shadow:inset 0 0 0 2px var(--nuit); }
.csd-btn.ligne:hover{ background:var(--nuit); color:var(--carte); }

/* méta réelle */
.csd-meta{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:.86rem; color:var(--doux); line-height:1.4; }
.csd-meta b{ color:var(--vin-fonce); font-weight:700; }
.csd-meta.sur-sombre{ color:var(--sur-nuit-doux); }
.csd-meta.sur-sombre b{ color:var(--lueur); }

/* étiquette matière / saison (lit _fr_matiere / _fr_saison) */
.csd-etiq{ display:flex; flex-wrap:wrap; gap:6px; margin:0 0 8px; }
.csd-matiere, .csd-saison{ display:inline-flex; align-items:center; gap:7px; font-size:.8rem; font-weight:700; line-height:1.2; padding:4px 11px 4px 5px; border-radius:var(--gelule); background:var(--carte); color:var(--nuit); box-shadow:inset 0 0 0 1px var(--filet); }
.csd-matiere i{ width:22px; height:14px; border-radius:4px 8px 8px 4px; background:var(--tex), var(--c); box-shadow:inset 0 -3px 0 rgba(0,0,0,.18); }
.csd-saison{ padding-left:11px; background:transparent; color:var(--doux); }

/* repli image : petit plaid plié en CSS */
.csd-ph{ display:flex; align-items:center; justify-content:center; width:100%; height:100%; min-height:120px; background:var(--halo), var(--laine-pale); }
.csd-ph span{ width:46%; height:22%; min-height:22px; border-radius:var(--r-pli); background:repeating-linear-gradient(90deg, rgba(255,255,255,.12) 0 2px, rgba(255,255,255,0) 2px 7px), var(--vin); box-shadow:inset 0 -6px 0 rgba(0,0,0,.18), 0 10px 0 -3px var(--t-miel), 0 18px 0 -6px var(--t-ardoise); }

/* lisière (rubrique dans l'article et les archives) */
.csd-lisiere{ display:inline-flex; align-items:center; min-height:32px; padding:4px 26px 7px 14px; border-radius:10px 20px 20px 10px; background:var(--tex), var(--c); color:var(--ink); font-weight:700; font-size:.9rem; text-decoration:none; box-shadow:inset 0 -5px 0 rgba(0,0,0,.16); }
a.csd-lisiere:hover{ color:var(--ink); filter:brightness(1.06); }

/* ============================================================ EN-TÊTE */
.csd-mast{ background:var(--laine); }
.csd-mast-in{ max-width:var(--wrap); margin:0 auto; padding:22px 24px 14px; box-sizing:border-box; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.csd-np{ display:inline-flex; align-items:center; gap:14px; font-family:var(--font-titre); font-weight:700; font-size:1.75rem; line-height:1.1; color:var(--nuit); text-decoration:none; }
.csd-np:hover{ color:var(--vin-fonce); }
.csd-np-pile{ display:inline-flex; flex-direction:column; gap:2px; width:34px; flex:0 0 34px; }
.csd-np-pile i{ display:block; height:7px; border-radius:3px 6px 6px 3px; box-shadow:inset 0 -2px 0 rgba(0,0,0,.18); }
.csd-np-pile i:nth-child(1){ background:var(--t-miel); width:88%; margin-left:6%; }
.csd-np-pile i:nth-child(2){ background:var(--vin); }
.csd-np-pile i:nth-child(3){ background:var(--t-ardoise); width:94%; }
.csd-np-tag{ margin:4px 0 0 48px; font-size:.88rem; color:var(--doux); line-height:1.35; }
.csd-mast-lien{ flex:0 0 auto; font-weight:700; font-size:.95rem; color:var(--nuit); text-decoration:none; padding:9px 18px; border-radius:var(--gelule); box-shadow:inset 0 0 0 2px var(--nuit); transition:background-color .2s ease; }
.csd-mast-lien:hover{ background:var(--nuit); color:var(--carte); }

.csd-nav{ background:var(--laine); border-bottom:1px solid var(--filet); position:sticky; top:0; z-index:50; }
.csd-nav-in{ max-width:var(--wrap); margin:0 auto; padding:0 24px; box-sizing:border-box; overflow-x:auto; scrollbar-width:none; }
.csd-nav-in::-webkit-scrollbar{ display:none; }
.csd-nav-menu{ list-style:none; margin:0; padding:0; display:flex; gap:4px; white-space:nowrap; }
.csd-nav-menu li{ margin:0; }
.csd-nav-menu a{ display:block; padding:14px 13px 12px; color:var(--nuit); text-decoration:none; font-weight:700; font-size:.97rem; border-bottom:4px solid transparent; transition:border-color .2s ease, color .2s ease; }
.csd-nav-menu a:hover{ color:var(--vin-fonce); border-bottom-color:var(--laine-pale); }
.csd-nav-menu .current-menu-item > a, .csd-nav-menu .current-cat > a{ border-bottom-color:var(--vin); color:var(--vin-fonce); }

/* ============================================================ ACCUEIL */
.csd-sec{ padding:80px 0; }
.csd-sec-h{ font-size:clamp(1.7rem, 3vw, 2.3rem); margin:0 0 32px; }
.csd-plus{ margin-top:40px; }

/* 1. bandeau : halo de lampe derrière la photo */
.csd-hero{ padding:40px 0 88px; background:radial-gradient(46% 66% at 68% 40%, rgba(242,196,136,.72), rgba(242,196,136,.24) 55%, rgba(242,196,136,0) 78%), var(--laine); }
.csd-hero-in{ display:grid; grid-template-columns:5fr 7fr; gap:56px; align-items:center; }
.csd-hero-txt h1{ font-size:clamp(2.3rem, 4.6vw, 3.6rem); line-height:1.12; margin:0 0 20px; }
.csd-hero-txt p{ font-size:1.15rem; color:var(--doux); max-width:30em; margin:0 0 30px; }
.csd-hero-lampe{ position:relative; padding:0 0 0 64px; }
.csd-hero-p1{ display:block; aspect-ratio:5/4; border-radius:var(--r-img); overflow:hidden; background:var(--laine-pale); box-shadow:0 30px 60px -34px rgba(30,21,32,.6); }
.csd-hero-p1 img{ width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.csd-hero-p1:hover img{ transform:scale(1.03); }
.csd-hero-p2{ position:absolute; left:0; bottom:46px; width:34%; aspect-ratio:1/1; border-radius:var(--r-img); overflow:hidden; border:8px solid var(--laine); background:var(--laine-pale); box-shadow:0 18px 34px -20px rgba(30,21,32,.6); }
.csd-hero-p2 img{ width:100%; height:100%; object-fit:cover; }
.csd-hero-leg{ margin:16px 0 0 38%; font-size:.92rem; color:var(--doux); line-height:1.45; }
.csd-hero-leg a{ color:var(--nuit); font-weight:700; }

/* 2. la pile de plaids */
.csd-pile{ background:var(--laine-pale); padding:84px 0 92px; }
.csd-pile-in{ display:grid; grid-template-columns:4fr 8fr; gap:56px; align-items:start; }
.csd-pile-tete{ position:sticky; top:96px; }
.csd-pile-tete h2{ font-size:clamp(1.9rem, 3.4vw, 2.6rem); margin:0 0 14px; }
.csd-pile-tete p{ color:var(--doux); margin:0; }
.csd-pile-liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; }
.csd-couche{ display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:20px; align-items:center; margin:0; }
.csd-couche:nth-child(4n+2) .csd-couche-plaid{ margin:0 22px 0 14px; }
.csd-couche:nth-child(4n+3) .csd-couche-plaid{ margin:0 6px 0 4px; }
.csd-couche:nth-child(4n) .csd-couche-plaid{ margin:0 30px 0 20px; }
.csd-couche-plaid{
  position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"nom n" "note note";
  gap:2px 16px; align-items:baseline;
  padding:16px 70px 22px 22px; border-radius:var(--r-pli);
  background:var(--tex), var(--c); color:var(--ink); text-decoration:none;
  box-shadow:inset 0 -9px 0 rgba(0,0,0,.15), inset 0 2px 0 rgba(255,255,255,.2), 0 12px 18px -14px rgba(30,21,32,.7);
  transition:transform .25s ease;
}
.csd-couche-plaid::after{ content:""; position:absolute; top:0; right:0; bottom:0; width:52px; border-radius:0 34px 34px 0; background:linear-gradient(90deg, rgba(0,0,0,.16), rgba(0,0,0,0) 45%, rgba(255,255,255,.16) 80%, rgba(0,0,0,.08)); pointer-events:none; }
.csd-couche-plaid:hover{ color:var(--ink); transform:translateX(8px); }
.csd-couche-plaid strong{ grid-area:nom; font-family:var(--font-titre); font-size:1.3rem; line-height:1.2; }
.csd-couche-plaid .n{ grid-area:n; justify-self:end; white-space:nowrap; font-size:.82rem; font-weight:700; opacity:.9; }
.csd-couche-plaid em{ grid-area:note; font-style:normal; font-size:.9rem; line-height:1.35; opacity:.92; }
.csd-couche-der{ display:grid; grid-template-columns:72px 1fr; gap:12px; align-items:center; color:var(--nuit); text-decoration:none; }
.csd-couche-img{ display:block; width:72px; height:72px; border-radius:12px; overflow:hidden; background:var(--laine); }
.csd-couche-img img, .csd-couche-img .csd-ph{ width:100%; height:100%; object-fit:cover; min-height:0; }
.csd-couche-titre{ font-size:.86rem; line-height:1.35; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.csd-couche-der:hover .csd-couche-titre{ color:var(--vin-fonce); text-decoration:underline; }

/* 3. grille de cartes */
.csd-grille{ display:grid; grid-template-columns:repeat(4, 1fr); gap:40px 24px; }
.csd-carte{ display:block; color:var(--nuit); text-decoration:none; }
.csd-carte-img{ display:block; aspect-ratio:4/3; border-radius:var(--r-img); overflow:hidden; background:var(--laine-pale); margin:0 0 14px; }
.csd-carte-img img{ width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.csd-carte:hover .csd-carte-img img{ transform:scale(1.04); }
.csd-carte h3{ font-size:1.18rem; line-height:1.3; margin:0 0 8px; }
.csd-carte:hover h3{ color:var(--vin-fonce); }
.csd-carte p{ font-size:.93rem; color:var(--doux); margin:0 0 8px; }

/* 4. la veillée : nuit, une lampe */
.csd-veillee{ padding:96px 0; color:var(--sur-nuit); background:radial-gradient(38% 55% at 14% 18%, rgba(242,196,136,.30), rgba(242,196,136,.08) 50%, rgba(242,196,136,0) 75%), var(--nuit); }
.csd-veillee-in{ display:grid; grid-template-columns:7fr 5fr; gap:56px; align-items:center; }
.csd-veillee-img{ display:block; aspect-ratio:4/3; border-radius:var(--r-img); overflow:hidden; background:var(--nuit-2); box-shadow:0 0 0 1px rgba(242,196,136,.18), 0 40px 80px -40px rgba(242,196,136,.35); }
.csd-veillee-img img{ width:100%; height:100%; object-fit:cover; }
.csd-veillee h2{ font-family:var(--font-texte); font-size:.95rem; font-weight:700; color:var(--lueur); margin:0 0 12px; }
.csd-veillee h3{ font-size:clamp(1.6rem, 2.6vw, 2.2rem); line-height:1.2; margin:0 0 14px; }
.csd-veillee h3 a{ color:var(--carte); text-decoration:none; }
.csd-veillee h3 a:hover{ color:var(--lueur); }
.csd-veillee p{ color:var(--sur-nuit-doux); }
.csd-veillee blockquote{ margin:30px 0 0; padding:20px 0 0; border-top:1px solid rgba(242,196,136,.28); font-family:var(--font-titre); font-size:1.18rem; line-height:1.5; color:var(--sur-nuit); }

/* fiche « En bref » : étiquette d'entretien */
.csd-fiche{ display:inline-grid; grid-auto-flow:column; gap:0; margin:6px 0 16px; padding:0; border-radius:10px 10px 16px 16px; background:var(--carte); box-shadow:0 0 0 1px var(--filet); overflow:hidden; }
.csd-fiche div{ padding:8px 16px 10px; border-left:1px solid var(--filet); }
.csd-fiche div:first-child{ border-left:0; }
.csd-fiche dt{ font-size:.74rem; font-weight:700; color:var(--doux); line-height:1.3; }
.csd-fiche dd{ margin:0; font-family:var(--font-titre); font-size:.98rem; color:var(--nuit); line-height:1.3; }
.csd-veillee .csd-fiche{ background:var(--nuit-2); box-shadow:0 0 0 1px rgba(242,196,136,.25); }
.csd-veillee .csd-fiche div{ border-left-color:rgba(242,196,136,.2); }
.csd-veillee .csd-fiche dt{ color:var(--sur-nuit-doux); }
.csd-veillee .csd-fiche dd{ color:var(--carte); }

/* 5. mosaïque asymétrique */
.csd-mos{ display:grid; grid-template-columns:repeat(4, 1fr); grid-auto-rows:250px; grid-auto-flow:dense; gap:20px; }
.csd-mc{ display:flex; flex-direction:column; min-height:0; color:var(--nuit); text-decoration:none; background:var(--carte); border-radius:var(--r-img); overflow:hidden; box-shadow:0 0 0 1px var(--filet); }
.csd-mc.grande{ grid-column:span 2; grid-row:span 2; }
.csd-mc.haute{ grid-row:span 2; }
.csd-mc.large{ grid-column:span 2; flex-direction:row; }
.csd-mc-img{ display:block; flex:1 1 auto; min-height:0; overflow:hidden; background:var(--laine-pale); }
.csd-mc.large .csd-mc-img{ flex:0 0 55%; }
.csd-mc-img img{ width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.csd-mc:hover .csd-mc-img img{ transform:scale(1.04); }
.csd-mc-b{ display:block; flex:0 0 auto; padding:14px 16px 16px; }
.csd-mc.large .csd-mc-b{ flex:1 1 auto; align-self:center; }
.csd-mc-t{ display:block; font-family:var(--font-titre); font-weight:700; font-size:1.02rem; line-height:1.3; margin:0 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.csd-mc.grande .csd-mc-t{ font-size:1.55rem; -webkit-line-clamp:3; }
.csd-mc.grande .csd-mc-b{ padding:20px 24px 22px; }
.csd-mc:hover .csd-mc-t{ color:var(--vin-fonce); }

/* 6. auteur : objet dans un cadre « plaid plié » */
.csd-auteur{ background:var(--laine-pale); padding:88px 0 100px; }
.csd-auteur-in{ display:grid; grid-template-columns:5fr 7fr; gap:64px; align-items:center; }
.csd-auteur-plaid{ margin:0 0 20px; }
.csd-auteur-plaid img, .csd-initiales{ display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:22px; border:10px solid transparent; background:repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 2px, rgba(255,255,255,0) 2px 7px) border-box, var(--vin) border-box; box-sizing:border-box; box-shadow:0 12px 0 -3px var(--t-miel), 0 22px 0 -7px var(--t-ardoise), 0 40px 50px -30px rgba(30,21,32,.6); }
.csd-initiales{ display:flex; align-items:center; justify-content:center; background:var(--halo), var(--carte); background-clip:padding-box; }
.csd-initiales span{ font-family:var(--font-titre); font-weight:700; font-size:3.4rem; color:var(--vin-fonce); }
.csd-auteur-plaid figcaption{ margin:34px 0 0; font-size:.88rem; color:var(--doux); }
.csd-auteur-txt h2{ font-size:clamp(1.8rem, 3vw, 2.4rem); margin:0 0 18px; }
.csd-auteur-txt p{ max-width:36em; }
.csd-auteur-txt .csd-btn{ margin-top:10px; }

/* 7. engagements */
.csd-eng-in{ display:grid; grid-template-columns:4fr 8fr; gap:56px; align-items:start; }
.csd-eng-in h2{ font-size:clamp(1.7rem, 3vw, 2.3rem); margin:0; }
.csd-eng-liste{ list-style:none; margin:0; padding:0; display:grid; gap:26px; }
.csd-eng-liste li{ display:grid; grid-template-columns:14px 1fr; grid-template-rows:auto auto auto; column-gap:20px; margin:0; }
.csd-eng-liste li::before{ content:""; grid-row:1 / 4; border-radius:6px 10px 10px 6px; background:repeating-linear-gradient(0deg, rgba(255,255,255,.12) 0 2px, rgba(255,255,255,0) 2px 6px), var(--vin); box-shadow:inset -4px 0 0 rgba(0,0,0,.16); }
.csd-eng-liste li:nth-child(2)::before{ background-color:var(--t-miel); }
.csd-eng-liste li:nth-child(3)::before{ background-color:var(--t-ardoise); }
.csd-eng-liste strong{ font-family:var(--font-titre); font-size:1.25rem; line-height:1.3; }
.csd-eng-liste p{ margin:4px 0 6px; color:var(--doux); }
.csd-eng-liste a{ font-weight:700; font-size:.95rem; }

/* 8. lettre de saison (nuit) */
.csd-lettre{ padding:88px 0; color:var(--sur-nuit); background:radial-gradient(34% 60% at 88% 30%, rgba(242,196,136,.26), rgba(242,196,136,.07) 50%, rgba(242,196,136,0) 75%), var(--nuit-2); }
.csd-lettre-in{ display:grid; grid-template-columns:5fr 7fr; gap:56px; align-items:center; }
.csd-lettre-img{ aspect-ratio:4/3; border-radius:var(--r-img); overflow:hidden; background:var(--nuit); }
.csd-lettre-img img, .csd-lettre-img .csd-ph{ width:100%; height:100%; object-fit:cover; }
.csd-lettre h2{ color:var(--carte); font-size:clamp(1.8rem, 3vw, 2.4rem); }
.csd-lettre p{ color:var(--sur-nuit-doux); max-width:34em; }
.csd-lettre .csd-note a{ color:var(--sur-nuit); }
.csd-form{ display:grid; gap:8px; margin:20px 0 12px; max-width:560px; }
.csd-form label{ font-weight:700; font-size:.92rem; }
.csd-form-ligne{ display:flex; gap:10px; flex-wrap:wrap; }
.csd-form input{ flex:1 1 240px; min-width:0; padding:13px 18px; border-radius:var(--gelule); border:2px solid var(--filet); background:var(--carte); color:var(--nuit); font:inherit; font-size:1rem; box-sizing:border-box; }
.csd-form input::placeholder{ color:#776A70; }
.csd-form input:focus{ outline:3px solid var(--lueur); outline-offset:1px; border-color:var(--vin); }
.csd-lettre .csd-btn:hover{ background:var(--lueur); color:var(--nuit); }
.csd-note{ font-size:.84rem; }

/* 9. par ambiance */
.csd-ambiance{ padding:72px 0 84px; }
.csd-amb-liste{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(8, 1fr); gap:16px; }
.csd-amb-liste li{ margin:0; }
.csd-amb-liste a{ display:block; color:var(--nuit); text-decoration:none; }
.csd-amb-img{ display:block; order:1; aspect-ratio:3/4; border-radius:12px 12px 0 0; overflow:hidden; background:var(--laine-pale); }
.csd-amb-img img, .csd-amb-img .csd-ph{ width:100%; height:100%; object-fit:cover; min-height:0; transition:transform .4s ease; }
.csd-amb-liste a:hover img{ transform:scale(1.05); }
.csd-amb-liste a::after{ content:""; display:block; order:2; height:12px; border-radius:0 0 10px 10px; background:var(--tex), var(--c); box-shadow:inset 0 -4px 0 rgba(0,0,0,.16); }
.csd-amb-nom{ display:block; order:3; margin:8px 0 0; font-weight:700; font-size:.92rem; line-height:1.3; }
.csd-amb-liste a{ display:flex; flex-direction:column; }
.csd-amb-liste a:hover .csd-amb-nom{ color:var(--vin-fonce); }

/* ============================================================ ARTICLE */
.csd-article{ max-width:780px; margin:0 auto; padding:44px 24px 28px; box-sizing:border-box; }
.csd-ariane{ font-size:.88rem; color:var(--doux); margin:0 0 18px; }
.csd-ariane a{ color:var(--doux); }
.csd-article .csd-lisiere{ margin:0 0 18px; }
.csd-article h1{ font-size:clamp(2rem, 4.2vw, 3rem); line-height:1.15; margin:0 0 16px; }
.csd-article-meta{ display:flex; flex-wrap:wrap; gap:4px 18px; font-size:.92rem; color:var(--doux); margin:0 0 14px; }
.csd-couv{ max-width:1040px; margin:8px auto 40px; padding:0 24px; box-sizing:border-box; }
.csd-couv img{ width:100%; border-radius:var(--r-img); }
.csd-corps{ max-width:700px; margin:0 auto; padding:0 24px; box-sizing:border-box; font-size:1.1rem; line-height:1.8; }
.csd-corps h2{ font-size:1.75rem; margin:1.8em 0 .6em; }
.csd-corps h3{ font-size:1.32rem; margin:1.5em 0 .5em; }
.csd-corps ul, .csd-corps ol{ padding-left:1.3em; }
.csd-corps li{ margin-bottom:.4em; }
.csd-corps blockquote{ margin:1.6em 0; padding:18px 24px; border-radius:var(--r-pli); background:var(--halo) no-repeat 0 0 / 60% 160%, var(--carte); font-family:var(--font-titre); font-size:1.22rem; line-height:1.5; box-shadow:inset 0 -6px 0 var(--laine-pale); }
.csd-corps table{ width:100%; border-collapse:collapse; font-size:.95rem; margin:1.4em 0; }
.csd-corps th{ text-align:left; background:var(--laine-pale); padding:10px 12px; font-family:var(--font-titre); }
.csd-corps td{ padding:10px 12px; border-bottom:1px solid var(--filet); }
.csd-corps img{ border-radius:var(--r-img); }
.ftc-disclosure{ background:var(--carte); border-left:6px solid var(--vin); border-radius:6px 14px 14px 6px; padding:12px 18px; margin:0 0 28px; font-size:.92rem; line-height:1.5; }
.ftc-disclosure p{ margin:0; }
.ftc-disclosure a{ color:var(--vin-fonce); font-weight:700; }

.csd-bio{ max-width:700px; margin:48px auto 0; padding:24px; box-sizing:border-box; display:grid; grid-template-columns:76px 1fr; gap:20px; background:var(--carte); border-radius:18px; box-shadow:0 0 0 1px var(--filet), 0 8px 0 -3px var(--laine-pale); }
.csd-bio-init{ width:76px; height:76px; border-radius:14px 22px 22px 14px; background:repeating-linear-gradient(90deg, rgba(255,255,255,.10) 0 2px, rgba(255,255,255,0) 2px 7px), var(--vin); box-shadow:inset 0 -7px 0 rgba(0,0,0,.16); display:flex; align-items:center; justify-content:center; }
.csd-bio-init span{ font-family:var(--font-titre); font-weight:700; font-size:1.3rem; color:#FFFFFF; }
.csd-bio h4{ font-size:1.2rem; margin:0 0 6px; }
.csd-bio p{ font-size:.96rem; color:var(--doux); margin:0 0 8px; }
.csd-bio a{ font-weight:700; font-size:.95rem; }

.csd-lies{ max-width:1100px; margin:64px auto 0; padding:0 24px; box-sizing:border-box; }
.csd-lies h3{ font-size:1.6rem; margin-bottom:20px; }
.csd-lies-grid{ display:grid; grid-template-columns:2fr 1fr 1fr; gap:24px; }
.csd-lie{ text-decoration:none; color:var(--nuit); }
.csd-lie-img{ aspect-ratio:4/3; border-radius:var(--r-img); overflow:hidden; margin-bottom:10px; background:var(--laine-pale); }
.csd-lie:first-child .csd-lie-img{ aspect-ratio:16/10; }
.csd-lie-img img{ width:100%; height:100%; object-fit:cover; }
.csd-lie h4{ font-size:1.12rem; margin:0; }
.csd-lie:hover h4{ color:var(--vin-fonce); }

.csd-post-lettre{ margin:72px 0 0; padding:60px 24px; color:var(--sur-nuit); background:radial-gradient(40% 80% at 10% 20%, rgba(242,196,136,.24), rgba(242,196,136,0) 70%), var(--nuit-2); }
.csd-post-lettre-in{ max-width:640px; margin:0 auto; }
.csd-post-lettre h3{ font-size:1.8rem; color:var(--carte); }
.csd-post-lettre p{ color:var(--sur-nuit-doux); }
.csd-post-lettre .csd-note a{ color:var(--sur-nuit); }

/* ============================================================ ARCHIVE */
.csd-arch-tete{ background:radial-gradient(30% 90% at 85% 10%, rgba(242,196,136,.45), rgba(242,196,136,0) 70%), var(--laine-pale); }
.csd-arch-tete-in{ max-width:var(--wrap); margin:0 auto; padding:52px 24px 44px; box-sizing:border-box; }
.csd-arch-tete .csd-lisiere{ margin-bottom:16px; }
.csd-arch-tete h1{ font-size:clamp(2rem, 4.4vw, 3.2rem); margin:0 0 10px; }
.csd-arch-tete p{ color:var(--doux); max-width:40em; margin:0; }
.csd-arch-tete .csd-arch-n{ margin-top:8px; font-weight:700; }
.csd-arch-une{ max-width:var(--wrap); margin:52px auto 0; padding:0 24px; box-sizing:border-box; display:grid; grid-template-columns:7fr 5fr; gap:44px; align-items:center; }
.csd-arch-une-img{ display:block; aspect-ratio:3/2; border-radius:var(--r-img); overflow:hidden; background:var(--laine-pale); }
.csd-arch-une-img img{ width:100%; height:100%; object-fit:cover; }
.csd-arch-une h2{ font-size:clamp(1.6rem, 2.6vw, 2.2rem); }
.csd-arch-une h2 a{ color:var(--nuit); text-decoration:none; }
.csd-arch-une h2 a:hover{ color:var(--vin-fonce); }
.csd-arch-grid{ max-width:var(--wrap); margin:56px auto 0; padding:0 24px; box-sizing:border-box; display:grid; grid-template-columns:repeat(3, 1fr); gap:44px 28px; }
.csd-arch-vide{ max-width:var(--wrap); margin:48px auto; padding:0 24px; color:var(--doux); }
.csd-pagination{ max-width:var(--wrap); margin:48px auto 80px; padding:0 24px; box-sizing:border-box; }
.csd-pagination .nav-links{ display:flex; flex-wrap:wrap; gap:8px; }
.csd-pagination .page-numbers{ display:inline-block; min-width:44px; text-align:center; padding:10px 14px; border-radius:var(--gelule); background:var(--carte); box-shadow:inset 0 0 0 1px var(--filet); color:var(--nuit); text-decoration:none; font-weight:700; box-sizing:border-box; }
.csd-pagination .page-numbers.current{ background:var(--vin); color:#FFFFFF; box-shadow:none; }
.csd-404{ padding-top:40px; padding-bottom:80px; }

/* ============================================================ PAGES FIXES : « Étiquette d'entretien »
   Étiquette cousue (étroite, haute, boucle repliée en haut) à gauche du titre ;
   sommaire en lignes d'étiquette de lavage au-dessus du texte ; contact en carte
   « plaid plié » ; renvois en pile de lisières colorées. Pas de sommaire collant,
   pas de numéro de chapitre, pas de tête sombre. */
.csd-ent{ max-width:1000px; margin:0 auto; padding:0 24px 88px; box-sizing:border-box; }
.csd-ent-tete{ display:grid; grid-template-columns:148px minmax(0,1fr); gap:44px; align-items:start; padding:0 0 40px; }
.csd-ent-etiq{
  position:relative; display:flex; flex-direction:column; align-items:center; gap:16px; text-align:center;
  padding:46px 14px 24px; background:var(--carte); color:var(--nuit);
  border-radius:0 0 22px 22px; box-shadow:0 0 0 1px var(--filet), 0 18px 30px -22px rgba(30,21,32,.55);
}
.csd-ent-etiq::before{ content:""; position:absolute; top:0; left:0; right:0; height:22px; background:linear-gradient(180deg, #D9CFCC, var(--carte)); box-shadow:inset 0 -1px 0 rgba(30,21,32,.12); }
.csd-ent-etiq::after{ content:""; position:absolute; left:0; right:0; bottom:10px; height:6px; background:repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 2px, rgba(255,255,255,0) 2px 7px), var(--vin); }
.csd-ent-etiq-nom{ font-family:var(--font-titre); font-weight:700; font-size:1.02rem; line-height:1.25; }
.csd-ent-symb{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; color:var(--nuit); }
.csd-ent-maj{ font-size:.8rem; line-height:1.4; color:var(--doux); padding-bottom:14px; }
.csd-ent-maj b{ display:block; color:var(--nuit); font-size:.9rem; }
.csd-ent-titre{ padding-top:56px; }
.csd-ent-titre h1{ font-size:clamp(2.1rem, 4.6vw, 3.3rem); line-height:1.12; margin:0 0 12px; }
.csd-ent-titre p{ color:var(--doux); margin:0; }

/* symboles d'entretien en CSS (currentColor) */
.csd-ent i{ display:inline-block; flex:0 0 auto; box-sizing:border-box; position:relative; }
.csd-ent i.bac{ width:22px; height:15px; border:2px solid currentColor; border-top:0; border-radius:0 0 5px 7px; }
.csd-ent i.bac::before{ content:""; position:absolute; left:-4px; right:-4px; top:0; height:2px; background:currentColor; }
.csd-ent i.tri{ width:0; height:0; border-left:11px solid transparent; border-right:11px solid transparent; border-bottom:17px solid currentColor; }
.csd-ent i.tri::after{ content:""; position:absolute; left:-6px; top:6px; border-left:6px solid transparent; border-right:6px solid transparent; border-bottom:9px solid var(--carte); }
.csd-ent i.sec{ width:17px; height:17px; border:2px solid currentColor; border-radius:3px; }
.csd-ent i.sec::after{ content:""; position:absolute; inset:2px; border:2px solid currentColor; border-radius:50%; }
.csd-ent i.fer{ width:22px; height:14px; border:2px solid currentColor; border-radius:12px 4px 2px 2px; }
.csd-ent i.fer::before{ content:""; position:absolute; right:3px; top:-6px; width:10px; height:5px; border:2px solid currentColor; border-bottom:0; border-radius:4px 4px 0 0; }

.csd-ent-in{ margin-left:192px; max-width:720px; }
.csd-ent-sommaire{ margin:0 0 44px; padding:22px 24px 18px; background:var(--carte); border-radius:18px; box-shadow:0 0 0 1px var(--filet); }
.csd-ent-sommaire h2{ font-family:var(--font-texte); font-size:.95rem; font-weight:700; color:var(--doux); margin:0 0 12px; }
.csd-ent-sommaire ol{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:4px 24px; }
.csd-ent-sommaire li{ margin:0; }
.csd-ent-sommaire a{ display:grid; grid-template-columns:26px minmax(0,1fr); align-items:center; gap:12px; padding:8px 4px; color:var(--nuit); text-decoration:none; font-size:.95rem; line-height:1.35; }
.csd-ent-sommaire a i{ color:var(--vin); transform:scale(.85); justify-self:center; }
.csd-ent-sommaire a i.tri::after{ border-bottom-color:var(--carte); }
.csd-ent-sommaire a:hover span{ color:var(--vin-fonce); text-decoration:underline; }
.csd-ent-corps{ font-size:1.05rem; line-height:1.8; }
.csd-ent-corps h2{ font-size:1.55rem; margin:1.9em 0 .6em; scroll-margin-top:84px; }
.csd-ent-corps h2:first-child{ margin-top:0; }
.csd-ent-corps h3{ font-size:1.22rem; margin:1.4em 0 .4em; }
.csd-ent-corps table{ width:100%; border-collapse:collapse; margin:1.2em 0; font-size:.96rem; }
.csd-ent-corps th, .csd-ent-corps td{ text-align:left; padding:10px 12px; border-bottom:1px solid var(--filet); vertical-align:top; }
.csd-ent-corps th{ background:var(--laine-pale); font-family:var(--font-titre); }
.csd-ent-contact{ display:flex; flex-direction:column; gap:4px; margin:52px 0 0; padding:22px 26px 24px; background:var(--carte); border-radius:20px; box-shadow:0 0 0 1px var(--filet), 0 9px 0 -3px var(--t-ecru), 0 17px 0 -7px var(--vin), 0 34px 40px -28px rgba(30,21,32,.5); }
.csd-ent-contact strong{ font-family:var(--font-titre); font-size:1.15rem; }
.csd-ent-contact a{ font-weight:700; word-break:break-all; }
.csd-ent-renvois{ margin:64px 0 0; }
.csd-ent-renvois h2{ font-size:1.35rem; margin:0 0 16px; }
.csd-ent-renvois ul, .csd-ent-renvois-liste{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; align-items:flex-start; gap:5px; }
.csd-ent-renvois li, .csd-ent-renvois-liste li{ margin:0; }
.csd-ent-renvois li:nth-child(even), .csd-ent-renvois-liste li:nth-child(even){ margin-left:14px; }
.csd-ent-renvois li:nth-child(3n), .csd-ent-renvois-liste li:nth-child(3n){ margin-left:6px; }
.csd-ent-renvois a, .csd-ent-renvois-liste a{ display:block; min-width:280px; padding:9px 44px 13px 16px; border-radius:10px 22px 22px 10px; background:var(--tex), var(--c); color:var(--ink); text-decoration:none; font-weight:700; font-size:.97rem; box-shadow:inset 0 -6px 0 rgba(0,0,0,.15); box-sizing:border-box; transition:transform .2s ease; }
.csd-ent-renvois a:hover, .csd-ent-renvois-liste a:hover{ color:var(--ink); transform:translateX(6px); }

/* ============================================================ PIED DE PAGE */
.csd-pied{ color:var(--sur-nuit); background:radial-gradient(30% 70% at 92% 0%, rgba(242,196,136,.18), rgba(242,196,136,0) 70%), var(--nuit); }
.csd-pied-in{ max-width:var(--wrap); margin:0 auto; padding:60px 24px 32px; box-sizing:border-box; display:grid; grid-template-columns:4fr 3fr 3fr; gap:40px; }
.csd-pied-nom{ display:flex; align-items:center; gap:12px; font-family:var(--font-titre); font-weight:700; font-size:1.5rem; color:var(--carte); margin:0 0 12px; }
.csd-pied p{ color:var(--sur-nuit-doux); font-size:.95rem; }
.csd-pied-h{ font-family:var(--font-texte); font-size:.95rem; color:var(--lueur); margin:0 0 12px; }
.csd-pied ul{ list-style:none; margin:0; padding:0; }
.csd-pied li{ margin:0 0 7px; }
.csd-pied a{ color:var(--sur-nuit); text-decoration:none; font-size:.95rem; }
.csd-pied a:hover{ color:var(--lueur); text-decoration:underline; }
.csd-pied-rgpd{ max-width:var(--wrap); margin:0 auto; padding:18px 24px 28px; box-sizing:border-box; display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px 24px; border-top:1px solid rgba(239,230,227,.14); font-size:.86rem; color:var(--sur-nuit-doux); }
.csd-pied-rgpd a{ color:var(--sur-nuit); text-decoration:underline; font-size:.86rem; }

/* éléments d'image en <span> : toujours en bloc */
.csd-carte-img, .csd-mc-img, .csd-couche-img, .csd-lie-img, .csd-arch-une-img, .csd-hero-p1, .csd-hero-p2, .csd-amb-img{ display:block; }

/* GeneratePress : neutraliser les marges de conteneur héritées */
.site-content, .site-main{ margin:0; padding:0; }

/* ============================================================ RESPONSIVE */
@media (max-width:1100px){
  .csd-grille{ grid-template-columns:repeat(2, 1fr); }
  .csd-amb-liste{ grid-template-columns:repeat(4, 1fr); }
  .csd-couche{ grid-template-columns:minmax(0,1fr) 170px; }
}
@media (max-width:1024px){
  .csd-mos{ grid-template-columns:repeat(2, 1fr); grid-auto-rows:230px; }
  .csd-mc.haute{ grid-row:span 1; }
  .csd-arch-grid{ grid-template-columns:repeat(2, 1fr); }
  .csd-pied-in{ grid-template-columns:1fr 1fr; }
}
@media (max-width:900px){
  .csd-hero-in, .csd-pile-in, .csd-veillee-in, .csd-auteur-in, .csd-eng-in, .csd-lettre-in, .csd-arch-une{ grid-template-columns:1fr; gap:32px; }
  .csd-pile-tete{ position:static; }
  .csd-auteur-plaid{ max-width:380px; }
  .csd-lies-grid{ grid-template-columns:1fr 1fr; }
  .csd-lie:first-child{ grid-column:span 2; }
  .csd-ent-tete{ grid-template-columns:120px minmax(0,1fr); gap:28px; }
  .csd-ent-in{ margin-left:0; }
}
@media (max-width:640px){
  body{ font-size:17px; }
  .csd-wrap, .csd-mast-in, .csd-nav-in{ padding-left:16px; padding-right:16px; }
  .csd-mast-in{ flex-wrap:wrap; gap:10px; padding-top:16px; }
  .csd-np{ font-size:1.4rem; gap:10px; }
  .csd-np-pile{ width:28px; flex-basis:28px; }
  .csd-np-tag{ margin-left:38px; font-size:.8rem; }
  .csd-mast-lien{ padding:7px 14px; font-size:.88rem; }
  .csd-nav-menu a{ padding:12px 10px 10px; font-size:.92rem; }
  .csd-sec{ padding:56px 0; }
  .csd-hero{ padding:24px 0 56px; }
  .csd-hero-lampe{ padding:0 0 0 28px; }
  .csd-hero-p2{ width:38%; bottom:60px; border-width:6px; }
  .csd-hero-leg{ margin-left:0; }
  .csd-pile, .csd-auteur{ padding:56px 0 64px; }
  .csd-couche{ grid-template-columns:1fr; gap:8px; }
  .csd-couche .csd-couche-plaid{ margin:0 !important; padding:14px 56px 18px 18px; }
  .csd-couche:nth-child(even) .csd-couche-plaid{ margin:0 0 0 10px !important; }
  .csd-couche-der{ grid-template-columns:52px 1fr; margin:0 0 10px 12px; }
  .csd-couche-img{ width:52px; height:52px; }
  .csd-couche-plaid strong{ font-size:1.15rem; }
  .csd-grille{ grid-template-columns:1fr; gap:32px; }
  .csd-veillee, .csd-lettre{ padding:60px 0; }
  .csd-mos{ grid-template-columns:1fr; grid-auto-rows:auto; }
  .csd-mc.grande, .csd-mc.large{ grid-column:auto; grid-row:auto; }
  .csd-mc.large{ flex-direction:column; }
  .csd-mc-img{ aspect-ratio:4/3; flex:0 0 auto; }
  .csd-mc.large .csd-mc-img{ flex:0 0 auto; }
  .csd-fiche{ grid-auto-flow:row; display:grid; }
  .csd-fiche div{ border-left:0; border-top:1px solid var(--filet); }
  .csd-fiche div:first-child{ border-top:0; }
  .csd-amb-liste{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-bottom:8px; }
  .csd-amb-liste li{ flex:0 0 42%; scroll-snap-align:start; }
  .csd-arch-grid{ grid-template-columns:1fr; padding:0 16px; }
  .csd-arch-une{ padding:0 16px; }
  .csd-lies-grid{ grid-template-columns:1fr; }
  .csd-lie:first-child{ grid-column:auto; }
  .csd-pied-in{ grid-template-columns:1fr; padding-left:16px; padding-right:16px; }
  .csd-article, .csd-corps, .csd-couv{ padding-left:16px; padding-right:16px; }
  .csd-bio{ grid-template-columns:1fr; }
  .csd-ent{ padding-left:16px; padding-right:16px; }
  .csd-ent-tete{ grid-template-columns:1fr; gap:0; }
  .csd-ent-etiq{ flex-direction:row; flex-wrap:wrap; justify-content:space-between; text-align:left; padding:30px 16px 26px; gap:10px 16px; }
  .csd-ent-titre{ padding-top:28px; }
  .csd-ent-sommaire ol{ grid-template-columns:1fr; }
  .csd-ent-renvois a, .csd-ent-renvois-liste a{ min-width:0; width:calc(100vw - 60px); max-width:100%; }
}

/* ============================================================
   BANDEAU COOKIES : petit plaid plié, flottant à GAUCHE, à mi-hauteur
   Carte claire arrondie 20px, lisière lie-de-vin côtelée en haut, deux plis
   visibles sous la carte (écru puis lie-de-vin) ; boutons empilés.
   (tarteaucitron injecte son CSS après le nôtre -> !important)
   On ne force JAMAIS display sur #tarteaucitronAlertBig : la lib l'affiche / le masque.
   ============================================================ */
#tarteaucitronRoot #tarteaucitronPercentage{ display:none !important; }
#tarteaucitronRoot #tarteaucitronAlertBig{
  position:fixed !important; left:24px !important; right:auto !important; top:50% !important; bottom:auto !important;
  transform:translateY(-50%) !important; margin:0 !important;
  width:300px !important; max-width:calc(100vw - 48px) !important; min-width:0 !important; box-sizing:border-box !important;
  max-height:calc(100vh - 80px) !important; overflow-y:auto !important;
  background-color:var(--carte) !important;
  background-image:repeating-linear-gradient(90deg, rgba(255,255,255,.14) 0 2px, rgba(255,255,255,0) 2px 7px), linear-gradient(var(--vin), var(--vin)) !important;
  background-size:100% 12px, 100% 12px !important; background-repeat:no-repeat !important; background-position:0 0, 0 0 !important;
  color:var(--nuit) !important;
  border:0 !important; border-radius:20px !important;
  box-shadow:0 0 0 1px var(--filet), 0 8px 0 -2px var(--t-ecru), 0 15px 0 -5px var(--vin), 0 34px 44px -24px rgba(30,21,32,.6) !important;
  padding:32px 22px 18px !important; text-align:left !important;
  font-family:var(--font-texte) !important; line-height:1.5 !important; z-index:2147483640 !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig::before{
  content:"Une petite question avant de lire"; display:block; margin:0 0 8px;
  font-family:var(--font-titre); font-weight:700; font-size:1.12rem; color:var(--nuit); line-height:1.25;
}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert,
#tarteaucitronRoot #tarteaucitronDisclaimerAlert *{
  color:var(--nuit) !important; font-size:.9rem !important; line-height:1.5 !important;
  text-align:left !important; font-family:var(--font-texte) !important;
}
#tarteaucitronRoot #tarteaucitronDisclaimerAlert{ display:block !important; margin:0 0 16px !important; padding:0 !important; }
#tarteaucitronRoot #tarteaucitronAlertBig br{ display:none !important; }
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCheck,
#tarteaucitronRoot #tarteaucitronAlertBig .tarteaucitronCross{ display:none !important; }
#tarteaucitronRoot #tarteaucitronAlertBig button{
  display:block !important; width:100% !important; box-sizing:border-box !important;
  margin:0 0 8px !important; padding:11px 16px !important; border-radius:var(--gelule) !important;
  font-family:var(--font-texte) !important; font-size:.94rem !important; font-weight:700 !important; line-height:1.2 !important;
  letter-spacing:0 !important; text-transform:none !important; cursor:pointer !important; text-align:center !important; white-space:normal !important;
  border:0 !important; background:transparent !important; color:var(--nuit) !important; box-shadow:inset 0 0 0 2px var(--nuit) !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2{ background:var(--vin) !important; color:#FFFFFF !important; box-shadow:inset 0 -3px 0 rgba(30,21,32,.22) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPersonalize2:hover{ background:var(--nuit) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronAllDenied2:hover{ background:var(--laine-pale) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronCloseAlert{ box-shadow:none !important; padding:6px 0 !important; text-decoration:underline !important; text-decoration-color:var(--vin) !important; text-underline-offset:4px !important; color:var(--vin-fonce) !important; }
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl{
  box-shadow:none !important; padding:8px 0 0 !important; margin:4px 0 0 !important; color:var(--doux) !important; border-top:1px solid var(--filet) !important; border-radius:0 !important;
  font-family:var(--font-texte) !important; font-size:.82rem !important; font-weight:400 !important; text-align:left !important;
  text-decoration:underline !important; text-underline-offset:3px !important;
}
#tarteaucitronRoot #tarteaucitronAlertBig #tarteaucitronPrivacyUrl:hover{ color:var(--vin-fonce) !important; }

/* bouton de réouverture : petite lisière pliée, verticale, accrochée au bord GAUCHE à mi-hauteur
   (34px de large : ne masque pas le texte ; se lit de bas en haut) */
#tarteaucitronRoot #tarteaucitronIcon, #tarteaucitronIcon{
  left:0 !important; right:auto !important; top:50% !important; bottom:auto !important;
  transform:translateY(-50%) !important; width:auto !important; height:auto !important; background:transparent !important; padding:0 !important; margin:0 !important;
}
#tarteaucitronManager img{display:none !important;}
#tarteaucitronRoot #tarteaucitronManager img{display:none !important;}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager, #tarteaucitronIcon #tarteaucitronManager{
  display:flex !important; align-items:center !important; gap:9px !important;
  writing-mode:vertical-rl !important; transform:rotate(180deg) !important;
  width:auto !important; height:auto !important; padding:14px 8px 12px 9px !important; line-height:1 !important;
  background-color:var(--carte) !important; border:0 !important; border-radius:16px 0 0 16px !important;
  box-shadow:inset 4px 0 0 var(--laine-pale), 0 0 0 1px var(--filet), -6px 6px 18px -10px rgba(30,21,32,.55) !important;
}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager::before, #tarteaucitronIcon #tarteaucitronManager::before{
  content:""; width:11px; height:18px; border-radius:6px 3px 3px 6px; background:repeating-linear-gradient(0deg, rgba(255,255,255,.14) 0 2px, rgba(255,255,255,0) 2px 6px), var(--vin); box-shadow:-4px 0 0 -1px var(--t-miel);
}
#tarteaucitronRoot #tarteaucitronIcon #tarteaucitronManager::after, #tarteaucitronIcon #tarteaucitronManager::after{
  content:"Cookies au chaud"; font-family:var(--font-texte); font-size:.84rem; font-weight:700; color:var(--nuit);
}

@media (max-width:640px){
  #tarteaucitronRoot #tarteaucitronAlertBig{ top:auto !important; bottom:12px !important; left:12px !important; right:12px !important; transform:none !important; width:auto !important; max-width:none !important; max-height:calc(100vh - 200px) !important; padding:28px 18px 14px !important; }
  #tarteaucitronRoot #tarteaucitronAlertBig::before{ font-size:1.02rem; }
  #tarteaucitronRoot #tarteaucitronDisclaimerAlert, #tarteaucitronRoot #tarteaucitronDisclaimerAlert *{ font-size:.86rem !important; }
  #tarteaucitronRoot #tarteaucitronAlertBig button{ padding:10px 14px !important; font-size:.9rem !important; }
  #tarteaucitronRoot #tarteaucitronIcon, #tarteaucitronIcon{ top:auto !important; bottom:22vh !important; transform:none !important; }
}

/* ============================================================ MOUVEMENT RÉDUIT */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ transition:none !important; animation:none !important; }
  .csd-progress{ display:none; }
}
