/* =====================================================================
   TUBERCULE : thème QuietCMS de mapommedeterre.fr
   Palette : terre #3E2A1E · sol #7A5A3F · peau #B87333 · chair #F3D27A
             crème #FBF5E6 · fane #5E7F3B · fleur #B9A6D9
   ===================================================================== */
@font-face{font-family:'Fraunces';src:url(fonts/fraunces-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url(fonts/fraunces-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Fraunces';src:url(fonts/fraunces-latin-500-italic.woff2) format('woff2');font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:'Nunito';src:url(fonts/nunito-latin-400-normal.woff2) format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito';src:url(fonts/nunito-latin-400-italic.woff2) format('woff2');font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:'Nunito';src:url(fonts/nunito-latin-700-normal.woff2) format('woff2');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:'Nunito';src:url(fonts/nunito-latin-800-normal.woff2) format('woff2');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:'Caveat';src:url(fonts/caveat-latin-600-normal.woff2) format('woff2');font-weight:600;font-style:normal;font-display:swap}

:root{
  --terre:#3E2A1E;--terre-2:#2B1D14;--sol:#7A5A3F;--peau:#B87333;--peau-2:#9C5F28;
  --chair:#F3D27A;--chair-2:#FBE7A8;--creme:#FBF5E6;--creme-2:#F5EBD3;--lin:#EFE3C8;
  --fane:#5E7F3B;--fane-2:#A8C47A;--fleur:#B9A6D9;--alerte:#C0503A;--eau:#7FA7C9;
  --txt:#35261B;--muted:#6E5A4A;
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Nunito',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --hand:'Caveat','Comic Sans MS',cursive;
  --r:18px;--r-s:12px;
  --shadow:0 18px 40px -22px rgba(62,42,30,.45);
  --shadow-s:0 8px 20px -12px rgba(62,42,30,.35);
  --w-text:760px;--w-wide:1060px;--w-max:1240px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--txt);font-family:var(--sans);font-size:1.075rem;line-height:1.75;
  background-image:radial-gradient(rgba(122,90,63,.07) 1px,transparent 1.2px);background-size:22px 22px}
img,svg{max-width:100%;height:auto}
a{color:var(--peau-2);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--terre)}
::selection{background:var(--chair);color:var(--terre)}
.tb-skip{position:absolute;left:-999px;top:0;background:var(--terre);color:#fff;padding:.6rem 1rem;z-index:999}
.tb-skip:focus{left:1rem}
:focus-visible{outline:3px solid var(--peau);outline-offset:3px;border-radius:6px}
.tb-nolink{cursor:default}

/* ---------- Header ---------- */
.tb-header{position:sticky;top:0;z-index:100;background:rgba(251,245,230,.94);backdrop-filter:saturate(1.3) blur(10px);-webkit-backdrop-filter:saturate(1.3) blur(10px)}
.tb-header-in{max-width:var(--w-max);margin:0 auto;padding:.7rem 1.4rem;display:flex;align-items:center;gap:1.2rem}
.tb-header-soil{display:block;width:100%;height:10px;margin-top:-1px}
.tb-logo{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--terre);flex:0 0 auto}
.tb-logo-mark{width:48px;height:48px;flex:0 0 48px;transition:transform .5s cubic-bezier(.3,1.6,.5,1)}
.tb-logo:hover .tb-logo-mark{transform:rotate(-12deg) scale(1.08)}
.tb-logo-txt{display:flex;flex-direction:column;line-height:1.05}
.tb-logo-name{font-family:var(--serif);font-weight:700;font-size:1.42rem;letter-spacing:-.01em}
.tb-logo-name em{font-style:italic;font-weight:500;color:var(--peau)}
.tb-logo-tag{font-family:var(--hand);font-size:1.1rem;color:var(--fane);margin-top:.1rem}
.tb-nav{margin-left:auto}
.tb-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:.25rem;flex-wrap:wrap}
.tb-nav a,.tb-nav .tb-nolink{display:block;padding:.5rem .85rem;border-radius:999px;color:var(--terre);font-weight:700;font-size:.98rem;text-decoration:none;transition:background .2s,color .2s}
.tb-nav a:hover{background:var(--chair-2)}
.tb-nav li.is-active>a,.tb-nav li.is-active>.tb-nolink,.tb-nav [aria-current]{background:var(--terre);color:var(--chair)}
.tb-nav .tb-nolink:not([aria-current]){color:var(--terre)}
.tb-burger{display:none;margin-left:auto;width:46px;height:46px;border:0;border-radius:14px;background:var(--terre);cursor:pointer;padding:12px 11px;flex-direction:column;justify-content:space-between}
.tb-burger span{display:block;height:3px;border-radius:3px;background:var(--chair);transition:transform .3s,opacity .3s}
.tb-burger[aria-expanded=true] span:nth-child(1){transform:translateY(8.5px) rotate(45deg)}
.tb-burger[aria-expanded=true] span:nth-child(2){opacity:0}
.tb-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-8.5px) rotate(-45deg)}
@media (max-width:980px){
  .tb-burger{display:flex}
  .tb-nav{position:fixed;inset:74px 0 auto 0;background:var(--creme);border-bottom:6px solid var(--terre);box-shadow:var(--shadow);transform:translateY(-120%);transition:transform .35s ease;max-height:calc(100vh - 74px);overflow:auto}
  .tb-nav.is-open{transform:none}
  .tb-nav ul{flex-direction:column;padding:1rem 1.2rem 1.4rem}
  .tb-nav a,.tb-nav .tb-nolink{font-size:1.15rem;padding:.8rem 1rem}
  .tb-logo-mark{width:42px;height:42px;flex-basis:42px}
  .tb-logo-name{font-size:1.25rem}
}

/* ---------- Typo générale ---------- */
h1,h2,h3,h4{font-family:var(--serif);color:var(--terre);line-height:1.18;letter-spacing:-.01em}
.tb-kicker{font-family:var(--hand);font-size:1.45rem;color:var(--peau);margin:0 0 .2rem;line-height:1.1}

/* ---------- Héros pages / articles ---------- */
.tb-hero{position:relative;background:var(--terre);color:var(--creme);overflow:hidden;padding:2.6rem 1.4rem 0}
.tb-hero-bg{position:absolute;inset:0;pointer-events:none}
.tb-hero-bg svg{width:100%;height:100%}
.tb-hero-in{position:relative;max-width:var(--w-wide);margin:0 auto;padding-bottom:2rem}
.tb-hero h1{color:var(--creme);font-size:clamp(2rem,4.6vw,3.35rem);margin:.2rem 0 .8rem;max-width:22ch}
.tb-hero .tb-kicker{color:var(--chair)}
.tb-crumbs{font-size:.9rem;color:rgba(251,245,230,.75);display:flex;flex-wrap:wrap;gap:.45rem;align-items:center}
.tb-crumbs a{color:var(--chair-2);text-decoration:none}
.tb-crumbs a:hover{text-decoration:underline}
.tb-hero-meta{display:flex;flex-wrap:wrap;gap:.5rem 1.3rem;margin:0;font-size:.95rem;color:rgba(251,245,230,.85)}
.tb-hero-meta span{display:inline-flex;align-items:center;gap:.4rem}
.tb-hero-meta svg{width:18px;height:18px;color:var(--chair)}
.tb-hero-img{position:relative;max-width:var(--w-max);margin:0 auto -1px;border-radius:var(--r) var(--r) 0 0;overflow:hidden;line-height:0;aspect-ratio:16/7;background:var(--sol)}
.tb-hero-img img{width:100%;height:100%;object-fit:cover;animation:tbZoom 18s ease-out both}
.tb-hero-sprout{position:absolute;right:3%;bottom:-6px;width:70px;height:auto}
@keyframes tbZoom{from{transform:scale(1.08)}to{transform:scale(1)}}
.tb-progress{position:fixed;top:0;left:0;right:0;height:4px;z-index:200;background:transparent}
.tb-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--fane),var(--chair),var(--peau));border-radius:0 4px 4px 0}

/* ---------- Mise en page article + sommaire ---------- */
.tb-layout{max-width:var(--w-max);margin:0 auto;padding:2.6rem 1.4rem 4rem}
.tb-layout.has-toc{display:grid;grid-template-columns:260px minmax(0,1fr);gap:3rem;align-items:start}
.tb-toc{position:sticky;top:100px;font-size:.93rem;max-height:calc(100vh - 120px);overflow:auto;padding-right:.3rem}
.tb-toc details{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);padding:1rem 1.1rem;border:1px solid var(--lin)}
.tb-toc summary{cursor:pointer;font-family:var(--serif);font-weight:700;color:var(--terre);font-size:1.1rem;display:flex;gap:.5rem;align-items:center;list-style:none}
.tb-toc summary::-webkit-details-marker{display:none}
.tb-toc summary svg{width:20px;height:20px;color:var(--peau)}
.tb-toc ol{list-style:none;margin:.8rem 0 0;padding:0;counter-reset:toc}
.tb-toc li{counter-increment:toc;margin:.1rem 0}
.tb-toc a{display:flex;gap:.55rem;padding:.4rem .5rem;border-radius:10px;text-decoration:none;color:var(--muted);line-height:1.35;transition:background .2s,color .2s}
.tb-toc a::before{content:counter(toc,decimal-leading-zero);font-weight:800;color:var(--fane-2);font-size:.8rem;padding-top:.15rem}
.tb-toc a:hover,.tb-toc a.is-current{background:var(--chair-2);color:var(--terre)}
.tb-toc a.is-current::before{color:var(--peau)}
@media (max-width:1100px){.tb-layout.has-toc{display:block}.tb-toc{position:static;max-height:none;margin:0 auto 2rem;max-width:var(--w-text)}.tb-toc details:not([open]){padding:.8rem 1.1rem}}

/* ---------- Corps de texte ---------- */
.tb-prose{max-width:var(--w-text);margin:0 auto;min-width:0}
.tb-prose p{margin:0 0 1.15rem}
.tb-prose h2{font-size:clamp(1.65rem,3vw,2.2rem);margin:3.4rem 0 1rem;padding-top:.4rem;position:relative;scroll-margin-top:100px}
.tb-prose h2::before{content:'';display:block;width:54px;height:14px;margin-bottom:.9rem;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 54 14'%3E%3Cellipse cx='9' cy='7' rx='8' ry='6' fill='%23D9A45B'/%3E%3Cellipse cx='27' cy='7' rx='8' ry='6' fill='%23B87333'/%3E%3Cellipse cx='45' cy='7' rx='8' ry='6' fill='%23B9A6D9'/%3E%3C/svg%3E")}
.tb-prose h3{font-size:clamp(1.25rem,2.2vw,1.5rem);margin:2.2rem 0 .7rem;color:var(--peau-2);scroll-margin-top:100px}
.tb-prose strong{color:var(--terre);font-weight:800;background:linear-gradient(transparent 62%,rgba(243,210,122,.55) 62%)}
.tb-prose em{font-style:italic}
.tb-prose a strong,.tb-prose strong a{background:none}
.tb-prose a{color:var(--peau-2);font-weight:800;text-decoration:underline;text-decoration-color:var(--chair);text-decoration-thickness:3px}
.tb-prose a:hover{text-decoration-color:var(--peau)}
.tb-prose .mp-chapo{font-size:1.22rem;line-height:1.7;color:var(--terre);padding:1.4rem 1.6rem;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);border-left:6px solid var(--chair);margin-bottom:2rem}
.tb-prose .mp-chapo::first-letter{font-family:var(--serif);font-weight:700;float:left;font-size:3.6rem;line-height:.9;padding:.35rem .6rem 0 0;color:var(--peau)}
.tb-prose ul,.tb-prose ol{padding-left:1.3rem}

/* Photos */
.mp-photo{margin:2.4rem 0;position:relative}
.mp-photo img{display:block;width:100%;height:auto;border-radius:var(--r);box-shadow:var(--shadow);aspect-ratio:3/2;object-fit:cover;background:var(--lin)}
.mp-photo figcaption,.mp-infog figcaption,figure figcaption{font-size:.9rem;color:var(--muted);margin-top:.7rem;padding-left:1.8rem;position:relative;line-height:1.5}
.mp-photo figcaption::before,.mp-infog figcaption::before{content:'';position:absolute;left:0;top:.35rem;width:1.1rem;height:.8rem;border-radius:50%;background:var(--chair);box-shadow:inset -3px -2px 0 rgba(184,115,51,.45)}
@media (min-width:1150px){.mp-photo{margin-left:-90px;margin-right:-90px}}

/* Infographies */
.mp-infog{margin:2.4rem 0;padding:1.4rem;background:#fff;border-radius:calc(var(--r) + 4px);box-shadow:var(--shadow-s);border:1px solid var(--lin);position:relative}
.mp-infog::after{content:'';position:absolute;inset:8px;border:1.5px dashed rgba(122,90,63,.18);border-radius:var(--r);pointer-events:none}
.mp-infog svg{display:block;width:100%;height:auto;font-family:var(--sans);overflow:visible}
@media (min-width:1150px){.mp-infog{margin-left:-60px;margin-right:-60px}}

/* Encadrés */
.mp-astuce{margin:2rem 0;padding:1.3rem 1.4rem 1.2rem 4.6rem;background:linear-gradient(135deg,#F3F7EA,#FBF5E6);border:1.5px solid rgba(94,127,59,.35);border-radius:var(--r);position:relative;font-size:1rem}
.mp-astuce::before{content:'';position:absolute;left:1.1rem;top:1.15rem;width:2.5rem;height:2.5rem;border-radius:50%;background:var(--fane) no-repeat center/60% url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21c0-6 0-9 0-12M12 12c-4 0-6-3-6-6 4 0 6 3 6 6zM12 9c0-4 3-6 6-6 0 4-3 6-6 6z' fill='none' stroke='%23FBF5E6' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.mp-astuce p{margin:0 0 .4rem}
.mp-astuce p:last-child{margin-bottom:0}
.mp-astuce .mp-astuce-t{font-family:var(--hand);font-size:1.45rem;color:var(--fane);line-height:1.1;margin-bottom:.35rem}
.mp-astuce.mp-alerte{background:linear-gradient(135deg,#FBEDE7,#FBF5E6);border-color:rgba(192,80,58,.4)}
.mp-astuce.mp-alerte::before{background-color:var(--alerte);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7v6M12 17h.01' fill='none' stroke='%23FBF5E6' stroke-width='2.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.mp-astuce.mp-alerte .mp-astuce-t{color:var(--alerte)}

/* Fiches */
.mp-fiches{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:2.2rem 0}
.mp-fiche{background:#fff;border-radius:var(--r);padding:1.2rem 1.2rem 1rem;box-shadow:var(--shadow-s);border-top:5px solid var(--chair);font-size:.95rem;line-height:1.55;transition:transform .3s,box-shadow .3s}
.mp-fiche:nth-child(3n+2){border-top-color:var(--fane-2)}
.mp-fiche:nth-child(3n+3){border-top-color:var(--fleur)}
.mp-fiche:hover{transform:translateY(-4px) rotate(-.4deg);box-shadow:var(--shadow)}
.mp-fiche p{margin:0 0 .5rem}
.mp-fiche-ico{width:56px;height:56px;margin-bottom:.5rem}
.mp-fiche-ico svg{width:100%;height:100%}
.mp-fiche-t,.tb-prose .mp-fiche-t{font-family:var(--serif);font-weight:700;font-size:1.15rem;color:var(--terre);margin-bottom:.35rem!important}
.mp-fiche-tags{display:flex;flex-wrap:wrap;gap:.35rem}
.mp-fiche-tags span{font-size:.78rem;font-weight:800;padding:.15rem .55rem;border-radius:999px;background:var(--creme-2);color:var(--sol)}

/* Barres */
.mp-barres{margin:2.2rem 0;padding:1.4rem 1.5rem;background:var(--terre);color:var(--creme);border-radius:var(--r);box-shadow:var(--shadow)}
.mp-barres-t,.tb-prose .mp-barres-t{font-family:var(--serif);font-size:1.2rem;color:var(--chair);margin:0 0 1rem}
.mp-barre{display:grid;grid-template-columns:minmax(110px,34%) 1fr 7.2rem;align-items:center;gap:.8rem;margin:.55rem 0;font-size:.95rem}
.mp-barre span{color:var(--creme)}
.mp-barre b{font-weight:800;color:var(--chair);text-align:right;font-size:.9rem;line-height:1.3}
.mp-barre::after{content:'';grid-column:2;grid-row:1;height:14px;border-radius:999px;background:linear-gradient(90deg,var(--chair),var(--peau));width:calc(var(--v,50) * 1%);transform-origin:left;transition:transform 1.3s cubic-bezier(.2,.8,.2,1)}
.mp-barre::before{content:'';grid-column:2;grid-row:1;height:14px;border-radius:999px;background:rgba(251,245,230,.12)}
.mp-barre>b{grid-column:3}
.js .mp-barres:not(.is-in) .mp-barre::after{transform:scaleX(0)}

/* Chiffres */
.mp-chiffres{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin:2.2rem 0}
.mp-chiffre{background:#fff;border-radius:var(--r);padding:1.2rem 1rem;text-align:center;box-shadow:var(--shadow-s);position:relative;overflow:hidden}
.mp-chiffre::before{content:'';position:absolute;right:-18px;top:-18px;width:70px;height:52px;border-radius:50%;background:var(--chair-2);opacity:.7}
.mp-chiffre b{position:relative;display:block;font-family:var(--serif);font-size:2.3rem;color:var(--peau);line-height:1.1}
.mp-chiffre span{position:relative;display:block;font-size:.9rem;color:var(--muted);line-height:1.4;margin-top:.3rem}

/* Étapes */
.mp-etapes{list-style:none;margin:2.2rem 0;padding:0;counter-reset:et;position:relative}
.mp-etapes::before{content:'';position:absolute;left:23px;top:10px;bottom:10px;width:3px;background:repeating-linear-gradient(var(--sol) 0 8px,transparent 8px 14px);opacity:.5}
.mp-etapes li{counter-increment:et;position:relative;padding:0 0 1.2rem 4rem;min-height:48px}
.mp-etapes li::before{content:counter(et);position:absolute;left:0;top:0;width:48px;height:40px;border-radius:50%;background:var(--chair);color:var(--terre);font-family:var(--serif);font-weight:700;font-size:1.2rem;display:grid;place-items:center;box-shadow:inset -4px -3px 0 rgba(184,115,51,.35),0 0 0 4px var(--creme)}
.mp-etapes li strong{display:block;background:none;font-family:var(--serif);font-size:1.12rem;margin-bottom:.1rem}
.mp-etapes li span{display:block;color:var(--muted);font-size:.97rem;line-height:1.6}

/* Tableau */
.mp-table{width:100%;border-collapse:separate;border-spacing:0;margin:2.2rem 0;font-size:.97rem;background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-s)}
.mp-table th{background:var(--terre);color:var(--chair);text-align:left;font-family:var(--serif);font-weight:700;padding:.9rem 1rem;font-size:1.02rem}
.mp-table td{padding:.8rem 1rem;border-top:1px solid var(--lin);vertical-align:top;line-height:1.55}
.mp-table tr:nth-child(even) td{background:#FDF9EF}
.mp-table td:first-child{font-weight:700;color:var(--terre);width:42%}
@media (max-width:600px){.tb-prose .mp-chapo{font-size:1.08rem;padding:1.1rem 1.1rem}.tb-prose .mp-chapo::first-letter{font-size:3rem}.mp-astuce{padding:1.1rem 1.1rem 1rem 3.9rem}.mp-astuce::before{left:.8rem;width:2.2rem;height:2.2rem}.mp-infog{padding:.8rem}.mp-barre{grid-template-columns:1fr 5.5rem;row-gap:.2rem}.mp-barre span{grid-column:1/-1}.mp-barre::before,.mp-barre::after{grid-row:2;grid-column:1}.mp-barre>b{grid-row:2;grid-column:2}.mp-table{font-size:.9rem}.mp-table th,.mp-table td{padding:.65rem .7rem}}

/* Replis FAQ */
.mp-repli{margin:.8rem 0;background:#fff;border-radius:var(--r-s);box-shadow:var(--shadow-s);border:1px solid var(--lin);overflow:hidden}
.mp-repli summary{cursor:pointer;padding:1rem 3rem 1rem 1.2rem;font-family:var(--serif);font-weight:700;color:var(--terre);position:relative;list-style:none}
.mp-repli summary::-webkit-details-marker{display:none}
.mp-repli summary::after{content:'+';position:absolute;right:1.1rem;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;background:var(--chair);display:grid;place-items:center;font-family:var(--sans);font-weight:800;transition:transform .3s}
.mp-repli[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.mp-repli>*:not(summary){padding:0 1.2rem 1rem;margin:0}

/* Sélecteur de variétés */
.mp-selecteur{margin:2.4rem 0;padding:1.4rem;background:var(--creme-2);border-radius:calc(var(--r) + 4px);border:2px solid var(--lin)}
.mp-sel-btns{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem}
.mp-sel-btns button{font:inherit;font-weight:800;font-size:.95rem;border:2px solid var(--terre);background:transparent;color:var(--terre);padding:.45rem 1rem;border-radius:999px;cursor:pointer;transition:all .2s}
.mp-sel-btns button:hover{background:var(--chair-2)}
.mp-sel-btns button.is-on{background:var(--terre);color:var(--chair)}
.mp-sel-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.8rem}
.mp-sel-item{background:#fff;border-radius:var(--r-s);padding:1rem;font-size:.93rem;line-height:1.5;box-shadow:var(--shadow-s);border-left:5px solid var(--chair);transition:opacity .3s,transform .3s}
.mp-sel-item[data-t=ferme]{border-left-color:var(--fane)}
.mp-sel-item[data-t=fondante]{border-left-color:var(--chair)}
.mp-sel-item[data-t=farineuse]{border-left-color:var(--peau)}
.mp-sel-item p{margin:0 0 .3rem}
.mp-sel-item.is-off{display:none}

/* Quiz */
.mp-quiz{margin:2.4rem 0;padding:1.5rem;background:var(--terre);border-radius:calc(var(--r) + 4px);color:var(--creme);box-shadow:var(--shadow)}
.mp-quiz-t,.tb-prose .mp-quiz-t{font-family:var(--hand);font-size:1.8rem;color:var(--chair);margin:0 0 1rem}
.mp-q{background:rgba(251,245,230,.07);border-radius:var(--r-s);padding:1rem 1.1rem;margin:.7rem 0;border:1px solid rgba(251,245,230,.12)}
.mp-q>p:first-child{margin:0 0 .7rem;font-weight:700}
.mp-q button{font:inherit;font-weight:800;border:2px solid var(--chair);background:transparent;color:var(--chair);border-radius:999px;padding:.35rem 1.1rem;margin-right:.4rem;cursor:pointer;transition:all .2s}
.mp-q button:hover{background:rgba(243,210,122,.15)}
.mp-q button.is-good{background:var(--fane);border-color:var(--fane);color:#fff}
.mp-q button.is-bad{background:var(--alerte);border-color:var(--alerte);color:#fff}
.mp-q .mp-q-exp{margin:.8rem 0 0;font-size:.95rem;color:var(--creme-2);line-height:1.6}
.js .mp-q:not(.is-done) .mp-q-exp{display:none}
.mp-q-verdict{display:inline-block;font-family:var(--hand);font-size:1.3rem;margin-left:.3rem}
.mp-quiz-score{margin:1rem 0 0;font-weight:800;color:var(--chair)}
.tb-prose .mp-quiz strong{color:var(--chair);background:none}

/* Calculateurs */
.mp-calc{margin:2.2rem 0;background:#fff;border-radius:calc(var(--r) + 4px);box-shadow:var(--shadow);overflow:hidden;border:1px solid var(--lin)}
.mp-calc-head{background:var(--fane);color:#fff;padding:1rem 1.3rem;font-family:var(--serif);font-weight:700;font-size:1.2rem;display:flex;align-items:center;gap:.6rem}
.mp-calc-head::before{content:'';width:30px;height:30px;flex:0 0 30px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='13' r='8' fill='none' stroke='%23fff' stroke-width='2'/%3E%3Cpath d='M12 13V8M12 3v2' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.mp-calc-head--plant::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21V10M12 13c-4 0-6-3-6-7 4 0 6 3 6 7zM12 10c0-4 3-6 6-6 0 4-3 6-6 6z' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E")}
.mp-calc-body{padding:1.2rem 1.3rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.mp-calc select{font-size:.95rem;text-overflow:ellipsis}
.mp-calc label{display:block;font-weight:800;font-size:.9rem;color:var(--terre);margin-bottom:.3rem}
.mp-calc select,.mp-calc input{width:100%;font:inherit;padding:.6rem .7rem;border:2px solid var(--lin);border-radius:10px;background:var(--creme);color:var(--terre)}
.mp-calc select:focus,.mp-calc input:focus{outline:none;border-color:var(--peau)}
.mp-calc-out{grid-column:1/-1;background:var(--creme-2);border-radius:var(--r-s);padding:1rem 1.1rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.mp-calc-big{font-family:var(--serif);font-size:2rem;font-weight:700;color:var(--peau);line-height:1}
.mp-calc-out p{margin:0;font-size:.95rem;line-height:1.5;flex:1 1 240px}
.mp-calc-note{grid-column:1/-1;font-size:.82rem;color:var(--muted);margin:0}

/* ---------- Cartes d'extraits ---------- */
.tb-cards{display:grid;gap:1.6rem}
.tb-cards--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tb-cards--blog{max-width:var(--w-max);margin:2rem auto 1rem;padding:0 1.4rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
@media (max-width:900px){.tb-cards--3{grid-template-columns:1fr}}
.tb-card{display:flex;flex-direction:column;background:#fff;border-radius:calc(var(--r) + 4px);overflow:hidden;text-decoration:none;color:var(--txt);box-shadow:var(--shadow-s);transition:transform .35s cubic-bezier(.3,1.4,.5,1),box-shadow .35s}
.tb-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);color:var(--txt)}
.tb-card-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--lin);line-height:0}
.tb-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}
.tb-card:hover .tb-card-img img{transform:scale(1.06)}
.tb-card-body{display:flex;flex-direction:column;gap:.5rem;padding:1.2rem 1.3rem 1.3rem;flex:1}
.tb-card-meta{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.82rem;font-weight:700;color:var(--fane);text-transform:uppercase;letter-spacing:.04em}
.tb-card-title{font-family:var(--serif);font-size:1.3rem;line-height:1.25;color:var(--terre);margin:0;font-weight:700}
.tb-card-ex{font-size:.97rem;color:var(--muted);line-height:1.55}
.tb-card-more{margin-top:auto;display:inline-flex;align-items:center;gap:.4rem;font-weight:800;color:var(--peau-2)}
.tb-card-more svg{width:20px;height:20px;transition:transform .3s}
.tb-card:hover .tb-card-more svg{transform:translateX(5px)}

/* ---------- Blog ---------- */
.tb-article--blog .tb-hero-img{aspect-ratio:16/6}
.tb-blog-top{padding:2.4rem 1.4rem 0}
.tb-blog-bottom{padding:1rem 1.4rem 4rem}
.tb-pagination{display:flex;justify-content:center;gap:.4rem;margin:2rem 0}
.tb-pagination a,.tb-pagination span{min-width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-weight:800;text-decoration:none;background:#fff;color:var(--terre);box-shadow:var(--shadow-s)}
.tb-pagination .tb-pg-cur{background:var(--terre);color:var(--chair)}
.tb-empty{grid-column:1/-1;text-align:center;color:var(--muted)}

/* ---------- Accueil ---------- */
.tb-home-hero{position:relative;background:var(--terre);color:var(--creme);overflow:hidden;padding:3.4rem 1.4rem 120px}
.tb-home-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(243,210,122,.18),transparent 45%),radial-gradient(circle at 10% 90%,rgba(94,127,59,.25),transparent 40%)}
.tb-home-hero-in{position:relative;z-index:2;max-width:var(--w-max);margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr;gap:2.5rem;align-items:center}
.tb-home-hero h1{color:var(--creme);font-size:clamp(2.3rem,5.4vw,4.1rem);margin:.2rem 0 1rem;line-height:1.05}
.tb-home-hero .tb-kicker{color:var(--chair);font-size:1.7rem}
.tb-home-lead{font-size:1.18rem;color:rgba(251,245,230,.88);max-width:36rem;margin:0 0 1.4rem}
.tb-home-badges{list-style:none;margin:0 0 2.4rem;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.tb-home-badges li{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .95rem .4rem .55rem;border-radius:999px;background:rgba(251,245,230,.1);border:1px solid rgba(251,245,230,.18);font-weight:800;font-size:.95rem}
.tb-home-badges li::before{content:'';width:1.2rem;height:.9rem;border-radius:50%;background:var(--chair);box-shadow:inset -3px -2px 0 rgba(184,115,51,.5)}
.tb-home-hero-art{position:relative;align-self:end}
.tb-home-hero-img{position:relative;z-index:2;margin:0 0 -10px;border-radius:46% 54% 42% 58% / 55% 45% 55% 45%;overflow:hidden;aspect-ratio:1/1;box-shadow:0 30px 60px -30px rgba(0,0,0,.6);border:8px solid rgba(251,245,230,.12);animation:tbBlob 14s ease-in-out infinite alternate;line-height:0;background:var(--sol)}
.tb-home-hero-img img{width:100%;height:100%;object-fit:cover}
@keyframes tbBlob{to{border-radius:56% 44% 52% 48% / 45% 55% 45% 55%}}
.tb-home-scene{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:190px;z-index:1;display:block}
.tb-plant{transform-origin:1030px 66px;animation:tbSway 5s ease-in-out infinite alternate}
@keyframes tbSway{from{transform:rotate(-3deg)}to{transform:rotate(3deg)}}
@media (max-width:900px){.tb-home-hero-in{grid-template-columns:1fr}.tb-home-hero-img{max-width:420px;margin:0 auto -10px}}
.tb-home-hero-in>.tb-home-hero-txt{padding-bottom:2rem}
.tb-home-body{padding:1.4rem 1.4rem 4rem}
.tb-prose--home{max-width:var(--w-text)}
.tb-latest{max-width:var(--w-max);margin:3.5rem auto;padding:2.6rem 2rem 2.4rem;background:var(--terre);border-radius:calc(var(--r) + 10px);position:relative;overflow:hidden}
.tb-latest::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 90% 10%,rgba(243,210,122,.2),transparent 40%)}
.tb-latest-head{position:relative;text-align:center;margin-bottom:1.8rem}
.tb-latest .tb-kicker{color:var(--chair)}
.tb-latest-title{font-family:var(--serif);font-weight:700;font-size:clamp(1.6rem,3vw,2.3rem);color:var(--creme);margin:0}
.tb-latest .tb-cards{position:relative}

/* ---------- Auteur ---------- */
.tb-author{display:flex;gap:1.1rem;align-items:flex-start;margin:3.4rem 0 0;padding:1.4rem;background:#fff;border-radius:var(--r);box-shadow:var(--shadow-s);border:1px dashed var(--sol)}
.tb-author .tb-logo-mark{width:62px;height:62px;flex:0 0 62px}
.tb-author p{margin:0;font-size:.95rem;line-height:1.6;color:var(--muted)}
.tb-author .tb-author-name{font-family:var(--serif);font-weight:700;color:var(--terre);font-size:1.1rem;margin-bottom:.3rem}

/* ---------- 404 ---------- */
.tb-404{max-width:640px;margin:0 auto;padding:4rem 1.4rem 5rem;text-align:center}
.tb-404-art{width:280px;margin:0 auto 1rem;display:block}

/* ---------- Footer ---------- */
.tb-footer{background:var(--terre);color:rgba(251,245,230,.82);margin-top:2rem;position:relative}
.tb-footer-soil{display:block;width:100%;height:70px;margin-top:-68px;position:relative}
.tb-footer-in{max-width:var(--w-max);margin:0 auto;padding:2rem 1.4rem 1.6rem;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.4rem}
.tb-footer .tb-logo-mark{width:56px;height:56px}
.tb-footer-name{font-family:var(--serif);font-weight:700;font-size:1.5rem;color:var(--creme);margin:.4rem 0}
.tb-footer-name em{color:var(--chair);font-weight:500}
.tb-footer p{font-size:.95rem;line-height:1.65}
.tb-footer-t{font-family:var(--hand);font-size:1.6rem;color:var(--chair);margin:0 0 .6rem}
.tb-seasons{list-style:none;margin:0;padding:0}
.tb-seasons li{display:flex;flex-direction:column;padding:.45rem 0;border-bottom:1px dashed rgba(251,245,230,.18);font-size:.93rem}
.tb-seasons b{color:var(--creme)}
.tb-footer-flower svg{width:90px;height:90px;animation:tbSpin 30s linear infinite}
@keyframes tbSpin{to{transform:rotate(360deg)}}
.tb-footer-bottom{max-width:var(--w-max);margin:0 auto;padding:1.1rem 1.4rem 1.6rem;border-top:1px solid rgba(251,245,230,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;font-size:.85rem;color:rgba(251,245,230,.6)}
@media (max-width:860px){.tb-footer-in{grid-template-columns:1fr}}
.tb-footer-legal{display:flex;gap:1.2rem}
.tb-footer-legal a,.tb-footer-legal .tb-nolink{color:var(--chair-2);text-decoration:none;font-weight:700}
.tb-footer-legal a:hover{text-decoration:underline}
/* Plan du site (plugin plan-du-site) */
.qpds-sec-title{font-size:1.6rem!important;border-bottom:3px solid var(--chair)!important;padding-bottom:.3rem!important;color:var(--terre)!important}
.cn-reopen{display:none!important}
.qpds-list{list-style:none;padding:0!important;margin:0 0 1.5rem;columns:2 300px;column-gap:2rem}
.qpds-item{break-inside:avoid;padding:.45rem 0 .45rem 1.6rem;position:relative;border-bottom:1px dashed var(--lin)}
.qpds-item::before{content:'';position:absolute;left:0;top:.95rem;width:1rem;height:.72rem;border-radius:50%;background:var(--chair);box-shadow:inset -2px -2px 0 rgba(184,115,51,.45)}
.qpds-item a{font-weight:700;text-decoration:none}
.qpds-item a:hover{text-decoration:underline}
/* Bandeau d'information cookies */
#cn-root .cn-panel,.cn-panel{font-family:var(--sans)!important;border-radius:18px!important;border:2px solid var(--chair)!important}
.cn-btn-primary{border-radius:999px!important}
.cn-reopen{font-family:var(--sans)!important}
.tb-top{position:fixed;right:1.1rem;bottom:1.1rem;width:48px;height:48px;border-radius:50%;border:0;background:var(--peau);color:#fff;box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(20px);transition:all .3s;z-index:90}
.tb-top.is-on{opacity:1;transform:none}
.tb-top svg{width:24px;height:24px}

/* ---------- Animations d'apparition ---------- */
.js .tb-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1)}
.js .tb-reveal.is-in{opacity:1;transform:none}
.js .mp-trace{stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 2.2s ease}
.js .is-in .mp-trace,.js .mp-trace.is-in{stroke-dashoffset:0}
.js .mp-pop{transform-box:fill-box;transform-origin:center;transform:scale(.3);opacity:0;transition:transform .7s cubic-bezier(.3,1.6,.5,1),opacity .4s}
.js .is-in .mp-pop{transform:none;opacity:1}
.js .is-in .mp-pop:nth-of-type(2){transition-delay:.15s}
.js .is-in .mp-pop:nth-of-type(3){transition-delay:.3s}
.js .is-in .mp-pop:nth-of-type(4){transition-delay:.45s}
.js .is-in .mp-pop:nth-of-type(5){transition-delay:.6s}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .tb-reveal,.js .mp-pop{opacity:1!important;transform:none!important}
  .js .mp-trace{stroke-dashoffset:0!important}
  .js .mp-barres .mp-barre::after{transform:none!important}
}
@media print{.tb-header,.tb-footer,.tb-toc,.tb-top,.tb-progress{display:none!important}body{background:#fff}}

/* Page contact : formulaire QuietCMS habillé aux couleurs du thème */
.mp-contact-form{margin:2rem 0 2.8rem;padding:1.6rem 1.7rem 1.3rem;background:#fff;border-radius:calc(var(--r) + 4px);box-shadow:var(--shadow);border:1px solid var(--lin);border-top:6px solid var(--peau);position:relative}
.tb-prose .mp-contact-form-t{font-family:var(--serif);font-weight:700;font-size:1.45rem;color:var(--terre);margin:0 0 .3rem}
.mp-contact-form .qcms-form-wrap{margin:.6rem 0 0}
.mp-contact-form .qcms-label{color:var(--terre);font-weight:700;font-size:.93rem}
.mp-contact-form .qcms-input{border:2px solid var(--lin);border-radius:10px;background:var(--creme);color:var(--txt);padding:.75rem .85rem;font-size:1rem;font-family:var(--sans)}
.mp-contact-form .qcms-input:focus{border-color:var(--peau);box-shadow:0 0 0 3px rgba(201,162,39,.2)}
.mp-contact-form textarea.qcms-input{resize:vertical;min-height:170px}
.mp-contact-form .qcms-checkbox-label{align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--muted)}
.mp-contact-form .qcms-checkbox-label input{margin-top:.25rem;accent-color:var(--peau);width:1.1rem;height:1.1rem;flex:0 0 1.1rem}
.mp-contact-form .qcms-req{color:var(--alerte)}
.mp-contact-form .qcms-submit{background:var(--terre);color:var(--chair);border-radius:999px;padding:.85rem 1.9rem;font-weight:800;font-size:1rem;font-family:var(--sans);box-shadow:var(--shadow-s);transition:transform .2s,background .2s}
.mp-contact-form .qcms-submit:hover{background:var(--peau-2);color:#fff;transform:translateY(-2px)}
.mp-contact-form .qcms-alert{border-radius:12px;font-size:.98rem}
@media (max-width:600px){.mp-contact-form{padding:1.2rem 1rem 1rem}}
/* Plan du site : textes de section lisibles */
.tb-prose .qpds-sec-text{font-size:1.05rem;line-height:1.75;color:var(--txt);margin:.4rem 0 1.3rem}
.tb-prose .qpds-sec-text p{margin:0 0 .9rem}
.tb-prose .qpds-sec{margin-bottom:2.4rem}
