@font-face{font-family:Recoleta;src:url("fonts/Recoleta Alt Bold.otf") format("opentype");font-weight:700}
@font-face{font-family:Recoleta;src:url("fonts/Recoleta Alt Medium.otf") format("opentype");font-weight:500}
@font-face{font-family:Gilroy;src:url("fonts/Gilroy-Light.ttf") format("truetype");font-weight:300}
@font-face{font-family:Gilroy;src:url("fonts/Gilroy-Regular.ttf") format("truetype");font-weight:400}
@font-face{font-family:Gilroy;src:url("fonts/Gilroy-Medium.ttf") format("truetype");font-weight:500}
@font-face{font-family:Gilroy;src:url("fonts/Gilroy-Bold.ttf") format("truetype");font-weight:700}
@font-face{font-family:Gilroy;src:url("fonts/Gilroy-ExtraBold.ttf") format("truetype");font-weight:800}

/* Même famille de teintes que fresh-events.fr (crème, vert, or), sur le noir de Fresh Food. */
:root{
  --ink:#0d0d0d; --ink-2:#161614; --ink-3:#22211e;
  --cream:#f8f5f0; --sand:#e8e3db; --stone:#b9b19f;
  --green:#4a7c59; --green-deep:#1a3a1a; --food:#3f9a52; --gold:#c9a961;
  --font-head:Recoleta,Georgia,serif; --font-body:Gilroy,system-ui,sans-serif;
  --radius:18px; --gutter:clamp(16px,5vw,56px); --max:1120px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
html,body{overflow-x:hidden}
body{background:var(--ink);color:var(--cream);font:400 17px/1.6 var(--font-body);-webkit-font-smoothing:antialiased}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-head);font-weight:700;line-height:1.08;letter-spacing:-.01em}
h1{font-size:clamp(2.6rem,7.5vw,5.2rem)} h2{font-size:clamp(1.9rem,4.4vw,3rem)} h3{font-size:1.35rem}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gutter)}
.eyebrow{font:700 .78rem/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.lead{font-size:1.15rem;color:var(--sand);max-width:34em;font-weight:300}

/* Décor : coups de pinceau (SVG en fond, très discrets) */
.brush{position:absolute;pointer-events:none;opacity:.12;color:var(--cream);max-width:100%}
.brush svg{width:100%;height:auto}

/* En-tête */
.top{position:sticky;top:0;z-index:50;background:rgba(13,13,13,.86);backdrop-filter:blur(10px);border-bottom:1px solid rgba(248,245,240,.08)}
.top .wrap{display:flex;align-items:center;gap:24px;height:72px}
.logo{display:block;line-height:.95;text-decoration:none;font:700 1.15rem/1 var(--font-head);letter-spacing:.14em;text-transform:uppercase}
.logo b{display:block;color:var(--food);font-weight:700}
nav{margin-left:auto;display:flex;gap:26px;align-items:center}
nav a{text-decoration:none;font-weight:500;font-size:.95rem;color:var(--sand);padding:6px 0;border-bottom:1px solid transparent}
nav a:hover,nav a[aria-current]{color:var(--cream);border-color:var(--gold)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:999px;font:700 .95rem/1 var(--font-body);text-decoration:none;border:1.5px solid var(--cream);color:var(--cream);transition:.2s}
.btn:hover{background:var(--cream);color:var(--ink)}
.btn.solid{background:var(--cream);color:var(--ink)} .btn.solid:hover{background:var(--gold);border-color:var(--gold)}
.btn.green{background:var(--green);border-color:var(--green)} .btn.green:hover{background:var(--cream);border-color:var(--cream);color:var(--green-deep)}
.menu-toggle{display:none}

/* Hero */
.hero{position:relative;overflow:hidden;padding:clamp(56px,10vw,120px) 0 clamp(48px,8vw,96px)}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,5vw,64px);align-items:center;position:relative}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero .lead{margin:22px 0 32px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.photo{border-radius:var(--radius);overflow:hidden;position:relative;aspect-ratio:4/5;background:
  radial-gradient(120% 90% at 20% 10%,#3a3833 0,#14130f 60%),#14130f;filter:grayscale(1) contrast(1.05)}
.photo::after{content:attr(data-label);position:absolute;left:16px;bottom:14px;font:500 .72rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:rgba(248,245,240,.45)}
.photo img{width:100%;height:100%;object-fit:cover}

/* Sections */
section{padding:clamp(48px,8vw,96px) 0;position:relative}
.sec-head{margin-bottom:36px;display:grid;gap:12px}
.band{background:var(--sand);color:var(--ink)} .band .eyebrow{color:var(--green)} .band .lead{color:#3b3a36}
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.tile{display:flex;flex-direction:column;justify-content:flex-end;min-height:190px;padding:20px;border-radius:var(--radius);background:var(--ink-2);border:1px solid rgba(248,245,240,.08);text-decoration:none;transition:.2s}
.tile:hover{transform:translateY(-4px);border-color:var(--gold)}
.tile span{font:500 .8rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.tile h3{font-size:1.2rem;color:var(--cream)}
.info{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.info h3{font-size:1.05rem;margin-bottom:8px;color:var(--green-deep)}
.info p{color:#2d2c28}
.events{background:var(--green-deep);overflow:hidden}
.events .wrap{display:grid;grid-template-columns:1.3fr auto;gap:32px;align-items:center}
.events h2{margin:10px 0 12px}.events p{color:var(--sand);max-width:34em;font-weight:300}

/* Carte */
.page-head{padding:clamp(48px,8vw,88px) 0 24px;position:relative;overflow:hidden}
.pills{position:sticky;top:72px;z-index:40;background:rgba(13,13,13,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(248,245,240,.08)}
.pills .wrap{display:flex;gap:8px;overflow-x:auto;padding-top:12px;padding-bottom:12px;scrollbar-width:none}
.pills a{white-space:nowrap;text-decoration:none;padding:9px 18px;border-radius:999px;border:1px solid rgba(248,245,240,.2);font-weight:500;font-size:.92rem;color:var(--sand)}
.pills a:hover,.pills a.on{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.cat{padding:48px 0 8px;scroll-margin-top:140px}
.cat h2{margin-bottom:8px}.cat .lead{margin-bottom:28px}
.group{font:700 .8rem/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:28px 0 14px}
.dishes{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.dish{padding:18px 0;border-bottom:1px solid rgba(248,245,240,.12)}
.dish .row{display:flex;align-items:baseline;gap:12px}
.dish h3{font-size:1.2rem}
.dish .dots{flex:1;border-bottom:1px dotted rgba(248,245,240,.3);transform:translateY(-4px)}
.dish .price{font:700 1.05rem/1 var(--font-body);color:var(--gold);white-space:nowrap}
.dish p{color:var(--sand);font-weight:300;font-size:.95rem;margin-top:6px}
.dish small{display:block;color:var(--stone);font-size:.82rem;margin-top:4px}
.allergens{margin:56px 0 0;padding:20px 24px;border-radius:var(--radius);background:var(--ink-2);color:var(--sand);font-size:.9rem;font-weight:300}

/* Contact */
.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,64px);align-items:start}
.facts{display:grid;gap:22px}.facts h3{font-size:1rem;color:var(--gold);margin-bottom:4px;font-family:var(--font-body);letter-spacing:.16em;text-transform:uppercase;font-size:.8rem}
.facts p,.facts a{font-size:1.1rem}
form{display:grid;gap:14px;background:var(--ink-2);padding:clamp(20px,3vw,32px);border-radius:var(--radius);border:1px solid rgba(248,245,240,.08)}
label{display:grid;gap:6px;font-weight:500;font-size:.88rem;color:var(--sand)}
input,textarea{font:inherit;color:var(--cream);background:var(--ink);border:1px solid rgba(248,245,240,.18);border-radius:12px;padding:13px 15px}
input:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
textarea{min-height:130px;resize:vertical}
.map{margin-top:36px;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/7;background:var(--ink-3);display:grid;place-items:center;color:var(--stone);font-size:.9rem}

footer{background:var(--sand);color:var(--ink);padding:48px 0 32px;margin-top:0}
footer .wrap{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:32px}
footer a{text-decoration:none;display:block;padding:3px 0}footer a:hover{color:var(--green)}
footer h3{font-size:1rem;margin-bottom:8px}
.legal{grid-column:1/-1;font-size:.82rem;color:#55534c;border-top:1px solid rgba(13,13,13,.15);padding-top:18px}

@media (max-width:860px){
  .hero .wrap,.contact,.events .wrap,.info,footer .wrap{grid-template-columns:minmax(0,1fr)}
  .tiles{grid-template-columns:repeat(2,minmax(0,1fr))} .tile:last-child{grid-column:1/-1}
  .dishes{grid-template-columns:1fr}
  .photo{aspect-ratio:16/10}
  nav{position:fixed;inset:72px 0 auto 0;background:var(--ink);flex-direction:column;align-items:flex-start;padding:20px var(--gutter) 28px;gap:16px;transform:translateY(-130%);transition:.25s;border-bottom:1px solid rgba(248,245,240,.1)}
  nav.open{transform:none}
  .menu-toggle{display:block;margin-left:auto;background:none;border:1px solid rgba(248,245,240,.3);color:var(--cream);border-radius:10px;padding:9px 14px;font:500 .9rem var(--font-body)}
  .top .btn{display:none}
}

.events,.hero,.page-head{isolation:isolate}
.events .wrap,.hero .wrap{position:relative;z-index:1}
.tile h3{overflow-wrap:anywhere}@media (max-width:860px){.tile h3{font-size:1.02rem}}

/* ADD-ON : papier peint (traits de craie répétés) et cartes plats */
body{background:var(--ink) url("wallpaper.svg") repeat;background-size:280px 240px}
.brush{display:none}
.hero,.page-head{background:linear-gradient(180deg,rgba(13,13,13,.55),rgba(13,13,13,.92))}
section.band,.events,footer{position:relative;z-index:1}
.cat{background:rgba(13,13,13,.86);margin:0 calc(var(--gutter) * -1);padding:48px var(--gutter) 24px;border-radius:var(--radius)}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{background:var(--sand);color:var(--ink);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.card .pic{aspect-ratio:4/3;background:radial-gradient(120% 90% at 20% 10%,#34312b 0,#14130f 65%);position:relative;display:grid;place-items:center;color:rgba(248,245,240,.28);font:500 .72rem var(--font-body);letter-spacing:.16em;text-transform:uppercase}
.card .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.card .txt{padding:18px 20px 22px;text-align:center;display:grid;gap:8px;flex:1;align-content:start}
.card h3{font-size:1.3rem;color:var(--ink)}
.card .price{font:800 1.05rem/1 var(--font-body);color:var(--green-deep)}
.card p{font-size:.92rem;color:#34332e;font-weight:400;line-height:1.5}
.card small{color:#5b5950;font-size:.82rem}
.group{grid-column:1/-1;margin:22px 0 2px;text-align:left}
@media (max-width:980px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.cards{grid-template-columns:minmax(0,1fr)}.cat{border-radius:0}}
.tile h3{overflow-wrap:break-word;hyphens:auto;font-size:1.08rem}
.tiles{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:860px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}

.prose{max-width:46rem;display:grid;gap:14px}.prose h2{font-size:1.5rem;margin-top:22px}.prose p,.prose li{color:var(--sand)}.prose ul{padding-left:1.2rem;display:grid;gap:6px}.prose a{color:var(--gold)}

.logo img{display:block;height:54px;width:auto}footer .logo img{height:84px;width:auto}
