/* Les 12 récoltes : charte reprise de l'app (app/src/theme.ts). */
:root{
  --fond:#FAF0DA;
  --fond-bas:#F3E8D0;
  --carte:#FFFFFF;
  --bord:#EADFC6;
  --texte:#3B2A1E;
  --texte-doux:#7A644F;
  --texte-leger:#A8957F;
  --saison:#36752B;
  --saison-clair:#E3F0DA;
  --accent:#B4501A;
  --rond-fruit:#FBE6D6;
  --ombre:0 4px 14px rgba(90,62,34,0.08);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *{animation:none !important; transition:none !important;}
}
body{
  margin:0;
  background:var(--fond);
  color:var(--texte);
  font-family:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.6;
}
h1,h2,h3{font-family:"Fredoka", "Plus Jakarta Sans", sans-serif; font-weight:600; line-height:1.15; margin:0;}
a{color:var(--saison);}
img{max-width:100%;height:auto;display:block;}
.wrap{max-width:1040px;margin-inline:auto;padding-inline:22px;}

/* ---------- nav ---------- */
nav.top{
  position:sticky; top:0; z-index:50;
  background:rgba(250,240,218,0.85);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--bord);
}
nav.top .inner{
  max-width:1040px; margin-inline:auto; padding:0 22px; height:60px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
}
nav.top .brand{display:flex;align-items:center;gap:10px;color:var(--texte);text-decoration:none;font-family:"Fredoka",sans-serif;font-weight:600;font-size:18px;}
nav.top .brand img{width:30px;height:30px;border-radius:8px;}
nav.top .back{font-size:13px;color:var(--texte-doux);text-decoration:none;}
nav.top .back:hover{color:var(--texte);}

/* ---------- en-tête ---------- */
.hero{padding:72px 0 64px;}
.hero .wrap{display:flex;align-items:center;gap:48px;}
.hero .app-icon{
  width:168px;height:168px;flex:none;
  border-radius:38px;
  box-shadow:0 10px 30px rgba(90,62,34,0.18);
}
.hero h1{font-size:clamp(2.4rem, 6vw, 3.8rem);letter-spacing:-0.01em;margin-bottom:12px;}
.hero .accroche{font-family:"Fredoka",sans-serif;font-weight:500;font-size:clamp(1.15rem, 2.4vw, 1.5rem);color:var(--saison);margin:0 0 18px;line-height:1.35;}
.hero p.intro{font-size:1.05rem;color:var(--texte-doux);max-width:52ch;margin:0 0 28px;}

.store-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:#000;color:#fff;
  padding:12px 22px;border-radius:12px;
  font-weight:600;font-size:16px;text-decoration:none;
}
.store-btn svg{width:22px;height:22px;fill:currentColor;}
.store-btn[aria-disabled="true"]{cursor:default;}
.store-note{font-size:13px;color:var(--texte-leger);margin:10px 0 0;}

@media (max-width:720px){
  .hero{padding:48px 0;}
  .hero .wrap{flex-direction:column;text-align:center;gap:28px;}
  .hero .app-icon{width:128px;height:128px;border-radius:29px;}
  .hero p.intro{margin-inline:auto;}
}

/* ---------- blocs ---------- */
section.bloc{padding:64px 0;border-top:1px solid var(--bord);}
section.bloc h2{font-size:clamp(1.7rem, 4vw, 2.4rem);margin-bottom:28px;}

.points{display:grid;grid-template-columns:repeat(2, 1fr);gap:18px;}
.point{background:var(--carte);border-radius:22px;padding:28px 26px;box-shadow:var(--ombre);}
.point .rond{
  width:48px;height:48px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:var(--saison-clair);color:var(--saison);margin-bottom:16px;
}
.point:nth-child(even) .rond{background:var(--rond-fruit);color:var(--accent);}
.point .rond svg{width:24px;height:24px;}
.point h3{font-size:1.25rem;margin-bottom:8px;}
.point p{margin:0;color:var(--texte-doux);}
@media (max-width:720px){.points{grid-template-columns:1fr;}}

.mascotte .wrap{display:flex;align-items:center;gap:48px;}
.mascotte img{width:240px;flex:none;}
.mascotte h2{margin-bottom:16px;}
.mascotte p{font-size:1.08rem;color:var(--texte-doux);max-width:48ch;margin:0;}
@media (max-width:720px){
  .mascotte .wrap{flex-direction:column;text-align:center;gap:24px;}
  .mascotte img{width:200px;}
  .mascotte p{margin-inline:auto;}
}

.engagements ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;max-width:680px;}
.engagements li{position:relative;padding-left:34px;color:var(--texte-doux);font-size:1.05rem;}
.engagements li::before{
  content:"";position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;
  background:var(--saison-clair) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%2336752B' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat;
}
.engagements strong{color:var(--texte);}

.faq details{background:var(--carte);border-radius:16px;box-shadow:var(--ombre);margin-bottom:12px;max-width:760px;}
.faq summary{
  cursor:pointer;list-style:none;padding:18px 52px 18px 22px;position:relative;
  font-weight:600;font-size:1.02rem;
}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);
  font-family:"Fredoka",sans-serif;font-size:24px;color:var(--saison);line-height:1;
}
.faq details[open] summary::after{content:"–";}
.faq details p{margin:0;padding:0 22px 20px;color:var(--texte-doux);}

.contact{text-align:center;}
.contact h2{margin-bottom:14px !important;}
.contact p{color:var(--texte-doux);margin:0 0 10px;}
.contact .mail{font-weight:600;}
.contact .liens{margin-top:22px;font-size:14px;}

/* ---------- page de confidentialité ---------- */
main.legal{max-width:760px;margin-inline:auto;padding:56px 22px 80px;}
main.legal h1{font-size:clamp(2rem, 5vw, 2.8rem);margin-bottom:8px;}
main.legal .legal-updated{font-size:13px;color:var(--texte-leger);font-style:italic;margin:0 0 40px;}
main.legal section{padding-top:28px;margin-top:28px;border-top:1px solid var(--bord);}
main.legal section:first-of-type{border-top:none;padding-top:0;margin-top:0;}
main.legal h2{font-size:1.35rem;margin-bottom:12px;}
main.legal p, main.legal li{color:var(--texte-doux);font-size:1rem;}
main.legal p{margin:0 0 12px;}
main.legal ul{margin:0 0 12px;padding-left:22px;}
main.legal li{margin-bottom:6px;}
main.legal .en-bref{background:var(--saison-clair);border-radius:18px;padding:22px 24px;}
main.legal .en-bref p{color:var(--texte);margin:0;}

/* ---------- pied de page ---------- */
footer{border-top:1px solid var(--bord);background:var(--fond-bas);padding:28px 0;font-size:13px;color:var(--texte-doux);}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;}
footer nav{display:flex;flex-wrap:wrap;gap:8px 20px;}
footer a{color:var(--texte-doux);}
footer a:hover{color:var(--texte);}
