/* ==========================================================================
   Tambouille & Délices — thème « potager »
   Palette tirée des légumes : céleri (fond), aubergine (texte), courgette (liens),
   betterave (quantités), carotte (repères). Seul motif décoratif : le coin « en feuille »
   des photos (deux coins très arrondis, deux presque droits).
   Polices système : pour une police personnalisée, voir README (static/fonts).
   ========================================================================== */
:root{
  --fond:#F2F6EA;      /* céleri */
  --papier:#FAFCF5;
  --encre:#2A2030;     /* aubergine */
  --doux:#645B6A;
  --feuille:#46701F;   /* courgette */
  --feuille-fonce:#2F4F14;
  --menthe:#E2EBD0;
  --betterave:#A82456;
  --carotte:#E58A2B;
  --trait:#D3DDC3;

  --sans:"Avenir Next","Avenir","Nunito Sans","Segoe UI Variable Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --serif:Charter,"Bitstream Charter","Sitka Text",Cambria,"Iowan Old Style",Georgia,serif;

  --feuille-s:1.5rem .3rem 1.5rem .3rem;    /* vignettes */
  --feuille-l:clamp(3rem,9vw,6.5rem) .5rem clamp(3rem,9vw,6.5rem) .5rem;  /* grandes photos */
}
@media (prefers-color-scheme: dark){
  :root{
    --fond:#161D17; --papier:#1D251E; --encre:#ECF0E3; --doux:#A5AE9E;
    --feuille:#9CCB6A; --feuille-fonce:#B9DE8E; --menthe:#26332A;
    --betterave:#F08AAE; --carotte:#F3A55A; --trait:#2F3C32;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--fond);color:var(--encre);font:1.125rem/1.7 var(--serif)}
h1,h2,h3,h4,.marque,button,.reperes,.infos,.chip,nav,label,input,select,textarea{font-family:var(--sans)}
h1,h2,h3{color:var(--encre);font-weight:800;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(2rem,4.4vw,3.3rem);line-height:1.08;margin:.3em 0 .4em}
h2{font-size:1.6rem;line-height:1.2;margin:2.2em 0 .7em}
h3{font-size:1.1rem;font-weight:700;margin:1.4em 0 .3em;letter-spacing:0}
p{margin:0 0 1em}
a{color:var(--feuille);text-underline-offset:.18em;text-decoration-thickness:.08em}
a:hover{color:var(--betterave)}
:focus-visible{outline:3px solid var(--betterave);outline-offset:3px;border-radius:3px}
img{max-width:100%;height:auto}
.contenu{max-width:1160px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
main.contenu{padding-top:clamp(18px,3vw,36px);padding-bottom:64px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:var(--papier);padding:8px 12px;z-index:20}

/* ---------- En-tête ---------- */
.entete{border-bottom:1px solid var(--trait)}
.entete .contenu{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:14px;padding-bottom:14px}
.marque{display:flex;align-items:center;gap:10px;font-size:1.35rem;font-weight:800;letter-spacing:-.02em;color:var(--encre);text-decoration:none}
.marque:hover{color:var(--feuille)}
.logo{flex:none}
.entete nav{display:flex;flex-wrap:wrap;gap:2px 22px;flex:1;font-weight:600;font-size:1rem}
.entete nav a{color:var(--encre);text-decoration:none;padding:4px 0;border-bottom:2px solid transparent}
.entete nav a:hover{border-color:var(--carotte);color:var(--encre)}
.recherche-rapide input{font-family:var(--sans);font-size:.95rem;width:13.5rem;padding:.5rem 1rem;border:1px solid var(--trait);border-radius:99px;background:var(--papier);color:var(--encre)}
.recherche-rapide input::placeholder{color:var(--doux)}
@media(max-width:640px){.recherche-rapide{display:none}}

/* ---------- Accueil ---------- */
.accueil{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(24px,5vw,72px);align-items:center;padding:clamp(8px,2vw,24px) 0 24px}
.accueil h1{max-width:12ch}
.accroche{font-size:1.2rem;color:var(--doux);max-width:34ch}
.formulaire-accueil{display:flex;gap:8px;flex-wrap:wrap;margin:1.4em 0 1.2em}
.formulaire-accueil input{flex:1 1 15rem;font-size:1rem;padding:.8rem 1.1rem;border:2px solid var(--trait);border-radius:99px;background:var(--papier);color:var(--encre)}
.formulaire-accueil input:focus{border-color:var(--feuille);outline:none}
.bouton,button.bouton{font:700 1rem var(--sans);background:var(--feuille);color:var(--fond);border:0;border-radius:99px;padding:.8rem 1.5rem;cursor:pointer;text-decoration:none;display:inline-block}
.bouton:hover{background:var(--feuille-fonce);color:var(--fond)}
@media (prefers-color-scheme: dark){.bouton,button.bouton{color:#14200F}}
.depart{font:600 .95rem var(--sans);color:var(--doux);margin:0 0 .6em}
.chips,.chips-ligne{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li a,.chip{display:inline-block;font:600 .92rem/1.2 var(--sans);background:var(--menthe);color:var(--feuille-fonce);padding:.45rem .95rem;border-radius:99px;text-decoration:none}
.chips li a:hover,.chip:hover{background:var(--feuille);color:var(--fond)}
.chip.sobre{background:transparent;border:1px solid var(--trait);color:var(--doux)}
.chip.sobre:hover{background:var(--menthe);color:var(--feuille-fonce)}
.chips small{font-weight:500;opacity:.75}
.a-la-une{display:block;position:relative;color:inherit;text-decoration:none}
.a-la-une img,.a-la-une .sans-photo{width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:var(--feuille-l);background:var(--menthe);display:block}
.legende{display:flex;flex-direction:column;margin-top:.8rem;padding-left:.3rem}
.legende strong{font:800 1.25rem/1.2 var(--sans);letter-spacing:-.01em}
.a-la-une:hover .legende strong{color:var(--feuille)}
.legende span{color:var(--doux);font:500 .9rem var(--sans)}
@media(max-width:860px){.accueil{grid-template-columns:1fr}.a-la-une img,.a-la-une .sans-photo{aspect-ratio:4/3}}

.rubrique-titre{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:2.6em 0 1em;border-top:1px solid var(--trait);padding-top:1.2em}
.rubrique-titre h2{margin:0}
.rubrique-titre a{font:600 .95rem var(--sans)}

/* ---------- Vignettes de recettes ---------- */
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:34px 24px;margin:18px 0}
.recette{display:flex;flex-direction:column;gap:.55rem;color:var(--encre);text-decoration:none}
.vignette{display:block;aspect-ratio:5/4;background:var(--menthe);border-radius:var(--feuille-s);overflow:hidden}
.vignette img{width:100%;height:100%;object-fit:cover;display:block}
.vignette .vide{display:flex;width:100%;height:100%;align-items:center;justify-content:center;color:var(--feuille);opacity:.5}
.recette .titre{font:800 1.04rem/1.25 var(--sans);letter-spacing:-.01em;padding-left:.2rem}
.recette:hover .titre{color:var(--feuille);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}
.infos{display:flex;flex-wrap:wrap;gap:.2rem 0;font-size:.85rem;color:var(--doux);padding-left:.2rem}
.infos span{display:inline-flex;align-items:center;gap:.4em}
.infos span+span{margin-left:.8rem;padding-left:.8rem;border-left:1px solid var(--trait)}
.infos [data-niveau]::before{content:"";width:.6em;height:.6em;border-radius:50%;background:var(--feuille)}
.infos [data-niveau=moyen]::before{background:var(--carotte)}
.infos [data-niveau=difficile]::before{background:var(--betterave)}

/* ---------- Catégories (liste sobre en colonnes) ---------- */
.colonnes{list-style:none;margin:0;padding:0;columns:3 230px;column-gap:40px}
.colonnes li{break-inside:avoid;border-bottom:1px solid var(--trait)}
.colonnes a{display:flex;justify-content:space-between;gap:12px;padding:.55rem 0;font:600 1rem var(--sans);color:var(--encre);text-decoration:none}
.colonnes a:hover{color:var(--feuille)}
.colonnes small{color:var(--doux);font-weight:500}
.nombre{color:var(--doux);font:500 .95rem var(--sans);margin:0 0 .6rem}

/* ---------- Fiche recette ---------- */
.fiche-tete{max-width:46rem}
.rubriques{margin:0 0 .4em}
.date{color:var(--doux);font:500 .9rem var(--sans);margin:0}
.photo{margin:clamp(14px,2vw,26px) 0 0}
.photo img{display:block;width:100%;max-height:min(70vh,640px);object-fit:cover;border-radius:var(--feuille-l)}
.reperes{display:flex;flex-wrap:wrap;margin:clamp(16px,2vw,26px) 0 0;padding:0}
.reperes div{padding:.2rem clamp(14px,2.4vw,30px);border-left:2px solid var(--trait)}
.reperes div:first-child{padding-left:0;border-left:0}
.reperes dt{font-size:.82rem;color:var(--doux);font-weight:500}
.reperes dd{margin:0;font-weight:800;font-size:1.1rem}
.fiche-corps{display:grid;grid-template-columns:minmax(260px,350px) minmax(0,1fr);gap:clamp(28px,5vw,72px);margin-top:clamp(8px,2vw,24px);align-items:start}
.fiche-corps.simple{display:block;max-width:46rem}
.col-ingredients{position:sticky;top:16px;max-height:calc(100vh - 32px);overflow:auto;background:var(--papier);padding:1.2rem 1.4rem 1.4rem;border-radius:var(--feuille-s)}
.col-ingredients h2{margin:0 0 .4em;font-size:1.35rem}
.col-ingredients h3{font-size:.95rem;color:var(--doux);margin:1.1em 0 .2em}
.col-ingredients ul{list-style:none;margin:0;padding:0}
.col-ingredients li{border-bottom:1px dashed var(--trait)}
.col-ingredients li:last-child{border-bottom:0}
.col-ingredients label{display:flex;gap:.7rem;align-items:baseline;padding:.45rem 0;cursor:pointer;font:500 1rem/1.4 var(--sans)}
.col-ingredients input{accent-color:var(--feuille);width:1.05rem;height:1.05rem;flex:none;transform:translateY(.15rem)}
.col-ingredients .qte{font-weight:800;color:var(--betterave)}
.col-ingredients .note{color:var(--doux);font-size:.9rem}
.col-ingredients input:checked~span{text-decoration:line-through;color:var(--doux);opacity:.7}
.bouton-discret{font:600 .9rem var(--sans);background:transparent;color:var(--feuille-fonce);border:1.5px solid var(--feuille);border-radius:99px;padding:.5rem 1rem;cursor:pointer;margin-top:1rem}
.bouton-discret:hover,.bouton-discret[aria-pressed=true]{background:var(--feuille);color:var(--fond)}
.intro{font-size:1.15rem}
.etapes h2:first-child{margin-top:0}
.etapes ol{counter-reset:e;list-style:none;margin:0;padding:0}
.etapes li{counter-increment:e;position:relative;padding:0 0 1.4rem 3.2rem}
.etapes li::before{content:counter(e);position:absolute;left:0;top:-.15rem;font:800 2.1rem/1 var(--sans);color:var(--betterave)}
.etapes h3{margin:0 0 .2em}
.etapes li p:last-child{margin-bottom:0}
.duree{display:inline-block;font:600 .85rem var(--sans);color:var(--feuille-fonce);background:var(--menthe);border-radius:99px;padding:.15rem .7rem}
.photo-etape{display:block;margin:.8rem 0;max-width:min(100%,26rem);border-radius:var(--feuille-s)}
.nutrition dl{display:grid;grid-template-columns:auto 1fr;gap:4px 24px;font-family:var(--sans)}
.nutrition dt{font-weight:700}.nutrition dd{margin:0}
.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:2rem}

@media(max-width:860px){
  .fiche-corps{display:block}
  .col-ingredients{position:static;max-height:none;overflow:visible;margin-bottom:2rem}
}
@media(max-width:640px){
  .reperes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem .5rem}
  .reperes div,.reperes div:first-child{padding:0;border-left:0}
  .entete nav{gap:0 18px}
}

/* ---------- Pages et articles ---------- */
.texte{max-width:46rem}
.texte img{border-radius:var(--feuille-s)}
.texte iframe,.texte video{max-width:100%}
.texte{overflow-wrap:anywhere}
.fiche .intro img{border-radius:var(--feuille-s)}

/* ---------- Recherche ---------- */
.filtres{display:grid;grid-template-columns:2fr 1.3fr 1fr 1fr;gap:10px;margin:18px 0 10px}
.filtres input,.filtres select,.contact input,.contact textarea{font:500 1rem var(--sans);padding:.7rem 1rem;border:2px solid var(--trait);border-radius:1rem;background:var(--papier);color:var(--encre);width:100%}
.filtres input:focus,.filtres select:focus,.contact input:focus,.contact textarea:focus{border-color:var(--feuille);outline:none}
.filtre-ingredient{grid-column:1/-1}
@media(max-width:720px){.filtres{grid-template-columns:1fr 1fr}.filtres #q{grid-column:1/-1}}
#ing-chips{margin:10px 0}
#ing-chips button{background:var(--feuille);color:var(--fond);border:0;border-radius:99px;padding:.4rem .9rem;font:600 .9rem var(--sans);cursor:pointer}
#count{color:var(--doux);font:500 .95rem var(--sans)}
.plus{margin:24px 0;text-align:center}

/* Pagination interne Hugo */
.pagination{display:flex;gap:6px;justify-content:center;list-style:none;padding:0;margin:40px 0 0;flex-wrap:wrap;font-family:var(--sans)}
.pagination a{display:block;padding:.45rem .9rem;border-radius:99px;text-decoration:none;color:var(--encre);font-weight:600;background:var(--menthe)}
.pagination .active a{background:var(--feuille);color:var(--fond)}
.pagination .disabled a{opacity:.35;pointer-events:none}

.contact{display:grid;gap:14px;max-width:34rem}
.contact label{display:grid;gap:5px;font-weight:700}

/* ---------- Pied de page ---------- */
.pied{border-top:1px solid var(--trait);padding:26px 0 36px;color:var(--doux);font:.95rem/1.6 var(--sans)}
.pied .contenu{display:flex;flex-wrap:wrap;gap:12px 40px;align-items:center;justify-content:space-between}
.pied a{color:var(--doux)}.pied a:hover{color:var(--betterave)}
.pied p{margin:0}

/* ---------- Impression : la recette seule, sur une colonne ---------- */
@media print{
  :root{--fond:#fff;--papier:#fff;--encre:#000;--doux:#444;--trait:#bbb;--betterave:#000}
  body{font-size:11.5pt;line-height:1.5}
  .entete,.pied,.noprint,.photo,.rubriques,.bouton-discret{display:none!important}
  .fiche-corps{display:block}
  .col-ingredients{position:static;padding:0}
  .col-ingredients input{display:none}
  .etapes li{break-inside:avoid}
  a{color:#000;text-decoration:none}
}
@media (prefers-reduced-motion: reduce){*{scroll-behavior:auto!important;transition:none!important}}
