/* Feuille partagée des pages générées (légumes + mois). Générée par outils/gen_site_seo.py */
@font-face{font-family:'Fraunces';font-style:italic;font-weight:400;font-display:swap;src:url('../fonts/fraunces-400i.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/fraunces-400.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/fraunces-500.woff2') format('woff2');}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/fraunces-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/inter-600.woff2') format('woff2');}
:root{--paper:#F7F2E7;--paper-deep:#EFE7D5;--ink:#2A2A24;--ink-soft:#5C594E;--green:#3D5A34;--green-deep:#2C4023;--green-ghost:#E4E8DC;--ochre:#8A6A2F;--line:#DDD3BC;--radius:14px;--font-serif:"Fraunces",Georgia,serif;--font-sans:"Inter",-apple-system,"Segoe UI",sans-serif;--nav-h:68px;}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--green-deep)}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;line-height:1.15;letter-spacing:-.01em;text-wrap:balance}
p{text-wrap:pretty}
.wrap{max-width:52rem;margin:0 auto;padding:0 1.5rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.eyebrow{font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ochre);margin-bottom:.9rem;font-family:var(--font-sans)}
/* nav + footer, repris de la page d'accueil */
.nav{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;gap:2rem;height:var(--nav-h);padding:0 1.5rem;max-width:72rem;margin:0 auto}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;color:var(--ink);margin-right:auto}
.brand img{width:34px;height:34px;border-radius:8px}
.nav .brand img{width:48px;height:48px;border-radius:11px}
.brand span{font-family:var(--font-serif);font-size:1.2rem;font-weight:600}
.nav-links{display:flex;gap:1.6rem;align-items:center}
.nav-links a{text-decoration:none;font-size:.95rem;font-weight:500;color:var(--ink-soft);padding:.55rem 0}
.nav-links a:hover{color:var(--green-deep)}
.nav-links a.btn,.nav-links a.btn:hover{color:#fff;padding:.62rem 1.3rem;white-space:nowrap}
.btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--green-deep);color:#fff;font-weight:600;font-size:.95rem;padding:.62rem 1.25rem;border-radius:999px;text-decoration:none;transition:background .15s ease}
.btn:hover{background:var(--green)}
@media (max-width:720px){.nav-links a:not(.btn){display:none}}
@media (max-width:540px){.nav-inner{gap:1rem;padding:0 1rem}.brand{gap:.5rem}.brand span{font-size:1.02rem}.nav-links a.btn{padding:.55rem 1rem;font-size:.9rem}}
footer{border-top:1px solid var(--line);background:var(--paper-deep);padding:2.2rem 0 3rem;font-size:.9rem;color:var(--ink-soft);margin-top:4.5rem}
.footer-months{font-size:.85rem;margin-bottom:1.6rem;line-height:2}
.footer-months a{margin-right:.55rem;white-space:nowrap}
.footer-inner{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap;align-items:center}
.footer-inner nav{display:flex;gap:1.5rem;flex-wrap:wrap}
footer a{color:var(--ink-soft)}
footer a:hover{color:var(--green-deep)}
.legal{margin-top:1.4rem;font-size:.75rem;color:#5C5850}
/* corps de page */
.page{padding-top:2.2rem}
.crumbs{font-size:.85rem;color:var(--ink-soft);margin-bottom:1.8rem}
.crumbs a{color:var(--ink-soft)}
.page-head{display:grid;grid-template-columns:1fr auto;gap:2.5rem;align-items:center;margin-bottom:2.6rem}
.page-head h1{font-size:clamp(1.9rem,4.2vw,2.8rem);margin-bottom:1rem}
.page-head .lead{color:var(--ink-soft);max-width:36rem}
.plate-img{width:min(230px,38vw)}
@media (max-width:640px){.page-head{grid-template-columns:1fr}.plate-img{order:-1;margin:0 auto}}
.page h2{font-size:clamp(1.35rem,2.6vw,1.75rem);margin:2.8rem 0 1rem}
.page h3{font-size:1.15rem;margin:1.8rem 0 .7rem}
.page h4{font-family:var(--font-sans);font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ochre);margin:1.4rem 0 .5rem}
.page p{margin-bottom:1rem}
/* tableau des zones */
.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#FDFBF4}
.zone-table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:34rem}
.zone-table th,.zone-table td{padding:.7rem .9rem;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.zone-table thead th{font-family:var(--font-sans);font-size:.8rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper-deep)}
.zone-table tbody th{font-weight:600;white-space:nowrap}
.zone-table tbody tr:last-child th,.zone-table tbody tr:last-child td{border-bottom:none}
.table-note{font-size:.85rem;color:var(--ink-soft);margin-top:.7rem;font-style:italic}
/* listes */
.pratique,.assoc,.sources{padding-left:1.2rem;margin-bottom:1.2rem;display:grid;gap:.45rem}
.assoc-bad li::marker{color:var(--ochre)}
.chips-row{margin-top:1rem}
.chip{display:inline-block;background:var(--green-ghost);border-radius:999px;padding:.18rem .8rem;font-size:.88rem;font-weight:500;text-decoration:none;margin:.15rem .1rem}
.chip:hover{background:var(--green-deep);color:#fff}
/* bande CTA */
.cta-band{background:var(--green-deep);color:#E9E5D6;border-radius:calc(var(--radius) + 6px);padding:2.4rem 2rem;margin:3rem 0;text-align:center}
.cta-band h2{color:#fff;margin:0 0 .8rem;font-size:clamp(1.4rem,2.8vw,1.9rem)}
.cta-band p{max-width:34rem;margin:0 auto 1.4rem;color:rgba(247,243,232,.92)}
.cta-row{display:flex;align-items:center;justify-content:center;gap:1.1rem;flex-wrap:wrap}
.play-badge img{height:60px;width:auto}
.cta-note{font-size:.875rem;color:rgba(247,243,232,.85);text-align:left}
/* FAQ */
.faq details{border-bottom:1px solid var(--line);padding:1rem 0}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;font-weight:600;line-height:1.4;min-height:2.5rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-serif);font-size:1.5rem;color:var(--green);transition:transform .2s ease;flex:none;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding-top:.7rem;color:var(--ink-soft);font-size:.98rem}
/* pages mois */
.month-zone{background:#FDFBF4;border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem 1.7rem;margin-bottom:1.4rem}
.month-zone h3{margin-top:0}
.month-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.4rem .5rem}
.month-list li{background:var(--green-ghost);border-radius:999px;padding:.2rem .85rem;font-size:.9rem}
.month-list a{text-decoration:none;font-weight:500}
.month-list a:hover{text-decoration:underline}
.badge-new{font-size:.7rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ochre)}
.pager{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:2.5rem;font-weight:500}
/* index légumes */
.veg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:1.1rem}
.veg-card{min-width:0;background:#FDFBF4;border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1rem .95rem;text-align:center;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease}
.veg-card:hover{transform:translateY(-2px);box-shadow:0 10px 24px -14px rgba(42,42,36,.35)}
.veg-card .veg-thumb{display:flex;align-items:flex-end;justify-content:center;height:6.2rem;margin-bottom:.65rem}
.veg-thumb img{max-height:100%;width:auto;max-width:84%}
.veg-card span{display:block;font-family:var(--font-serif);font-weight:600;font-size:1rem;color:var(--ink)}
.veg-card small{color:var(--ink-soft);font-size:.8rem}
/* Police système agrandie (Android) : Chrome gonfle le texte après la césure de balance/pretty → débordement. Césure standard + h1 réduit sur mobile. */
@media (max-width:720px){h1,h2,h3,h4,p{text-wrap:wrap}.page-head h1{font-size:clamp(1.6rem,6.5vw,2.2rem)}.eyebrow{font-size:.72rem;letter-spacing:.08em}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.veg-card,.btn,.faq summary::after{transition:none}}
