/* galette.org — feuille de style unique. Aucune dépendance externe. */
:root{
  --creme:#FBF7EF; --encre:#2A2018; --dore:#B8781F; --dore-fonce:#8F5E14;
  --sarrasin:#4C3B2B; --feve:#2E5A6B; --ligne:#E5DCCB; --carte:#FFFFFF;
  --serif:'Iowan Old Style',Georgia,'Times New Roman',serif;
  --sans:system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{font-family:var(--sans);color:var(--encre);background:var(--creme);line-height:1.65;font-size:1.0625rem}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--feve)}
a:hover{color:var(--dore-fonce)}
:focus-visible{outline:3px solid var(--dore);outline-offset:2px}
.wrap{max-width:72rem;margin:0 auto;padding:0 1.25rem}
.narrow{max-width:46rem}

/* ---- En-tête ---- */
header.site{border-bottom:1px solid var(--ligne);background:var(--creme)}
.topbar{display:flex;align-items:center;gap:1.5rem;padding:.9rem 0;flex-wrap:wrap}
.logo{font-family:var(--serif);font-size:1.45rem;font-weight:700;color:var(--encre);text-decoration:none;letter-spacing:.01em}
.logo span{color:var(--dore)}
nav.main{margin-left:auto}
nav.main ul{display:flex;gap:1.15rem;list-style:none;flex-wrap:wrap}
nav.main a{text-decoration:none;color:var(--sarrasin);font-size:.95rem;font-weight:500}
nav.main a:hover,nav.main a[aria-current]{color:var(--dore-fonce)}

/* ---- Héros : le rayage ---- */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#F6EEDD,var(--creme));border-bottom:1px solid var(--ligne)}
.hero .wrap{position:relative;padding-top:3.5rem;padding-bottom:3.5rem}
.hero h1{font-family:var(--serif);font-size:clamp(2rem,5vw,3.2rem);line-height:1.12;max-width:38rem}
.hero p{max-width:36rem;margin-top:1rem;font-size:1.15rem;color:var(--sarrasin)}
.rayage{position:absolute;right:-8rem;top:50%;transform:translateY(-50%);width:30rem;opacity:.5;pointer-events:none}
@media(max-width:48rem){.rayage{display:none}}

/* ---- Fil d'Ariane ---- */
.crumb{font-size:.85rem;color:var(--sarrasin);padding:1rem 0 0}
.crumb ol{list-style:none;display:flex;gap:.4rem;flex-wrap:wrap}
.crumb li+li::before{content:"›";margin-right:.4rem;color:var(--dore)}
.crumb a{color:var(--sarrasin);text-decoration:none}
.crumb a:hover{color:var(--dore-fonce);text-decoration:underline}

/* ---- Article ---- */
main{padding:2.2rem 0 3.5rem}
article h1{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15;margin-bottom:.7rem}
article h2{font-family:var(--serif);font-size:1.55rem;margin:2.4rem 0 .8rem;padding-top:.4rem}
article h3{font-family:var(--serif);font-size:1.2rem;margin:1.6rem 0 .5rem}
article p{margin-bottom:1rem}
article ul,article ol{margin:0 0 1rem 1.4rem}
article li{margin-bottom:.45rem}
.chapo{font-size:1.18rem;color:var(--sarrasin);margin-bottom:1.4rem}

/* ---- Bandeau infos recette ---- */
.meta-recette{display:flex;gap:0;flex-wrap:wrap;border:1px solid var(--ligne);background:var(--carte);border-radius:.6rem;margin:1.4rem 0;overflow:hidden}
.meta-recette div{flex:1 1 8rem;padding:.8rem 1rem;border-right:1px solid var(--ligne);min-width:8rem}
.meta-recette div:last-child{border-right:0}
.meta-recette dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dore-fonce)}
.meta-recette dd{font-weight:600}

/* ---- Grille recette : ingrédients + étapes ---- */
.recette{display:grid;gap:2rem;grid-template-columns:1fr}
@media(min-width:52rem){.recette{grid-template-columns:19rem 1fr;align-items:start}}
.ingredients{background:var(--carte);border:1px solid var(--ligne);border-radius:.6rem;padding:1.3rem;position:sticky;top:1rem}
.ingredients h2{margin:0 0 .8rem;font-size:1.25rem}
.ingredients ul{list-style:none;margin:0}
.ingredients li{padding:.45rem 0;border-bottom:1px dashed var(--ligne)}
.ingredients li:last-child{border-bottom:0}
.etapes ol{list-style:none;margin:0;counter-reset:etape}
.etapes ol>li{counter-increment:etape;position:relative;padding:0 0 1.3rem 3.2rem;margin:0}
.etapes ol>li::before{content:counter(etape);position:absolute;left:0;top:0;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--dore);color:#fff;font-weight:700;display:flex;align-items:center;justify-content:center;font-family:var(--serif)}

/* ---- Cartes ---- */
.grille{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));margin:1.2rem 0}
.carte{background:var(--carte);border:1px solid var(--ligne);border-radius:.6rem;padding:1.2rem;text-decoration:none;color:var(--encre);display:block;transition:border-color .15s}
.carte:hover{border-color:var(--dore);color:var(--encre)}
.carte h3{font-family:var(--serif);font-size:1.15rem;margin:0 0 .35rem}
.carte p{font-size:.92rem;color:var(--sarrasin);margin:0}
.carte .tag{display:inline-block;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--dore-fonce);margin-bottom:.5rem}

/* ---- Encadrés ---- */
.astuce{border-left:4px solid var(--dore);background:#F6EEDD;padding:1rem 1.2rem;border-radius:0 .5rem .5rem 0;margin:1.4rem 0}
.astuce strong{color:var(--dore-fonce)}
.materiel{border:1px solid var(--ligne);background:var(--carte);border-radius:.6rem;padding:1.3rem;margin:1.8rem 0}
.materiel h2,.materiel h3{margin-top:0}
.materiel ul{list-style:none;margin:0}
.materiel li{padding:.5rem 0;border-bottom:1px dashed var(--ligne)}
.materiel li:last-child{border-bottom:0}
.materiel small{display:block;color:var(--sarrasin)}

/* ---- FAQ ---- */
.faq details{border:1px solid var(--ligne);border-radius:.5rem;background:var(--carte);margin-bottom:.7rem;padding:0}
.faq summary{cursor:pointer;font-weight:600;padding:.9rem 1.1rem;list-style:none;position:relative}
.faq summary::after{content:"+";position:absolute;right:1.1rem;color:var(--dore);font-size:1.3rem;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details div{padding:0 1.1rem 1rem}

/* ---- Tableaux ---- */
table{border-collapse:collapse;width:100%;margin:1rem 0;background:var(--carte);font-size:.95rem}
th,td{border:1px solid var(--ligne);padding:.6rem .8rem;text-align:left}
th{background:#F6EEDD;font-family:var(--serif)}

/* ---- Sections d'accueil ---- */
.section{padding:2.6rem 0}
.section h2{font-family:var(--serif);font-size:1.8rem;margin-bottom:.4rem}
.section .sous{color:var(--sarrasin);margin-bottom:1rem}
.liste-liens{columns:2;gap:2rem;list-style:none;margin:.8rem 0}
@media(min-width:52rem){.liste-liens{columns:3}}
.liste-liens li{margin-bottom:.5rem;break-inside:avoid}
.liste-liens a{text-decoration:none}
.liste-liens a:hover{text-decoration:underline}

/* ---- Pied de page ---- */
footer.site{border-top:1px solid var(--ligne);background:#F3ECDD;padding:2.2rem 0;font-size:.9rem;color:var(--sarrasin)}
footer.site .cols{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
footer.site h2{font-family:var(--serif);font-size:1rem;margin-bottom:.5rem;color:var(--encre)}
footer.site ul{list-style:none}
footer.site li{margin-bottom:.35rem}
footer.site a{color:var(--sarrasin);text-decoration:none}
footer.site a:hover{color:var(--dore-fonce);text-decoration:underline}
footer.site .mentions{margin-top:1.6rem;padding-top:1rem;border-top:1px solid var(--ligne);font-size:.8rem}
