
:root{
  --bg:#fbfbf7; --text:#2e2e2e; --muted:#5f6b61;
  --brand:#2e7d32; --brand-2:#6bbf59; --sand:#efe9da;
  --card:#fff; --shadow:0 10px 25px rgba(0,0,0,.08);
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.6}
a{color:var(--brand);text-underline-offset:3px}
a.button{display:inline-block;padding:.8rem 1.1rem;border-radius:999px;background:var(--brand);color:#fff;text-decoration:none;font-weight:700;box-shadow:var(--shadow)}
a.button.secondary{background:var(--brand-2)}
.container{max-width:1050px;margin:0 auto;padding:0 18px}

header.site{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);border-bottom:1px solid #eee}
.nav{display:flex;align-items:center;justify-content:flex-start;padding:.6rem .4rem}
.nav .brand{display:flex;align-items:center;gap:.6rem;padding-top:0;padding-bottom:0;margin:0}
.nav .brand>a{display:inline-block;margin-right:32px !important}
.nav ul{list-style:none;display:flex;gap:1rem;margin:0;padding:0;flex-wrap:wrap}
.nav a{font-weight:600;text-decoration:none;color:var(--text)}
.nav a:focus{outline:3px solid var(--brand-2);outline-offset:4px;border-radius:6px}
.nav img.brand-logo{height:81px;width:auto;display:block}
@media (max-width:480px){.nav img.brand-logo{height:72px}}

.hero{position:relative;background:radial-gradient(1200px 400px at 20% -10%, var(--sand), transparent),linear-gradient(135deg,#f3fff2 0%,#f5fff7 30%,#fff 100%);padding:3rem 0 1.5rem}
.hero::after{display:none !important}

.section{padding:1.5rem 0}
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid.grid-3{grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:.5rem}

.card{background:var(--card);border-radius:18px;padding:1.2rem;box-shadow:var(--shadow);border:1px solid #eee}
h1{font-family:'Playfair Display',Georgia,'Times New Roman',serif;font-size:clamp(2rem,5vw,3rem);line-height:1.15;margin:.2rem 0 1rem}
h2{font-family:'Playfair Display',Georgia,serif;font-size:clamp(1.4rem,3vw,2rem);margin-top:0}
.badge{display:inline-block;background:#e8f5e9;color:#1b5e20;padding:.35rem .6rem;border-radius:999px;font-weight:700;font-size:.89rem}
small,.muted{color:var(--muted)}
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{position:static;width:auto;height:auto;padding:.5rem;background:#000;color:#fff}

.event-list{list-style:none;padding:0;margin:0}
.event{display:flex;gap:1rem;align-items:flex-start;padding:1rem 0;border-top:1px solid #eee}
.event:first-child{border-top:none}
.event .date{min-width:82px;text-align:center;border-radius:12px;background:#e8f5e9;color:#1b5e20;font-weight:800;padding:.5rem .6rem}
.event .date .d{font-size:1.4rem;display:block;line-height:1}
.event .date .m{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em}
.event .meta{font-size:.95rem;color:var(--muted)}
/* keep "Ajouter au calendrier" on one line */
.event a.button.secondary{white-space:nowrap}
@media (max-width:420px){.event a.button.secondary{font-size:.95rem;padding:.55rem .9rem}}

.twint-btn{display:inline-flex;align-items:center;gap:.6rem;background:#000;color:#fff;padding:.6rem 1rem;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:var(--shadow);transition:transform .05s ease-in-out}
.twint-btn:focus{outline:3px solid var(--brand-2);outline-offset:3px}
.twint-btn:active{transform:scale(.98)}

.footer{background:#0f1d12;color:#cfe8cf;padding:1.2rem 0}
.footer a{color:#cfe8cf}
