/* PousseBiz — feuille de style partagée */

:root{
  --ink:#17281F;
  --paper:#DDE3DA;
  --paper-2:#E7E2D0;
  --card:#FBFAF4;
  --accent:#C98F1D;
  --accent-2:#3E6B4F;
  --warn:#B4501E;
  --muted:#6C6858;
  --text:#363424;
  --text-2:#4A4739;
}

*{box-sizing:border-box;}

body{
  margin:0;
  background-color:var(--paper);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='78' height='120'%3E%3Cg%3E%3Cpath d='M16,18 C11,14 8,6 4,3 C9,5 15,10 16,18 Z' fill='%232E7D52' fill-opacity='0.22' transform='translate(6,-2)'/%3E%3Cpath d='M16,18 C21,14 24,6 28,3 C23,5 17,10 16,18 Z' fill='%23E08A1E' fill-opacity='0.22' transform='translate(6,-2)'/%3E%3Cpath d='M16,18 C11,14 8,6 4,3 C9,5 15,10 16,18 Z' fill='%232E7D52' fill-opacity='0.22' transform='translate(45,58)'/%3E%3Cpath d='M16,18 C21,14 24,6 28,3 C23,5 17,10 16,18 Z' fill='%23E08A1E' fill-opacity='0.22' transform='translate(45,58)'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat:repeat;
  color:var(--ink);
  font-family:'IBM Plex Sans', system-ui, sans-serif;
  font-size:16px;
  line-height:1.5;
}

a{color:var(--ink);}
a:hover{color:var(--accent-2);}

h1,h2,h3{
  font-family:'Fraunces', serif;
  font-weight:500;
  margin:0;
}

.wrap{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:0 32px;
}

.wrap-narrow{
  width:100%;
  max-width:560px;
  margin:0 auto;
  padding:0 32px;
}

header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:16px;
  padding:28px 0;
}

.wordmark{
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.wordmark .name{
  font-family:'Fraunces', serif;
  font-size:30px;
  font-weight:600;
  letter-spacing:-0.01em;
  color:var(--ink);
}
.i-letter{
  position:relative;
  display:inline-block;
  width:0.28em;
  height:1em;
  vertical-align:baseline;
}
.i-letter .stem{
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:0.15em;
  height:0.5em;
  background:var(--ink);
  border-radius:0.03em;
}
.i-letter .sprout{
  position:absolute;
  left:50%;
  bottom:0.42em;
  transform:translateX(-50%);
  width:0.66em;
  height:0.66em;
}
.wordmark .baseline{
  font-size:14px;
  color:var(--ink);
  font-style:italic;
}

nav{display:flex;align-items:center;gap:20px;font-size:14px;}
nav .lien{font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.btn{
  display:inline-block;
  padding:12px 22px;
  border:none;
  border-radius:3px;
  background:var(--ink);
  color:var(--paper);
  font-family:'IBM Plex Sans', sans-serif;
  font-size:15px;
  font-weight:600;
  text-decoration:none;
  cursor:pointer;
}
.btn.accent{background:var(--accent); color:var(--card);}
.btn.ghost{background:transparent; border:1px solid rgba(23,40,31,0.3); color:var(--ink);}

section{padding:88px 0;}
section.dark{background:var(--ink); color:var(--paper);}
section.dark p{color:#D9D6C4;}
section.tinted{background:var(--paper-2);}

.hero{
  display:flex;
  gap:64px;
  flex-wrap:wrap;
  align-items:flex-start;
  padding:40px 0 88px 0;
}
.hero-text{flex:1 1 480px; min-width:320px; display:flex; flex-direction:column; gap:28px;}
.hero-text h1{font-size:52px; line-height:1.08; letter-spacing:-0.01em; max-width:13ch;}
.hero-text p.lead{margin:0; font-size:18px; line-height:1.6; color:var(--text); max-width:46ch;}

.card{
  box-sizing:border-box;
  background:var(--card);
  border:1px solid rgba(23,40,31,0.14);
  border-radius:6px;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.card .row{display:flex; justify-content:space-between; align-items:baseline; gap:8px;}
.card .titre{font-family:'Fraunces', serif; font-size:19px; font-weight:500;}
.card .ville{font-size:12px; color:var(--muted); white-space:nowrap;}
.card .activite{font-size:14px; color:var(--text-2);}
.bar-track{width:100%; height:6px; border-radius:3px; background:var(--paper-2); overflow:hidden;}
.bar-fill{height:100%; background:var(--accent-2);}
.bar-fill.warn{background:var(--accent);}
.jours{font-size:12px; color:var(--muted);}
.retrait-lien{font-size:12px; color:var(--muted); text-decoration:underline; text-underline-offset:3px;}

.grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:24px;}

.cols{display:flex; gap:40px; flex-wrap:wrap;}
.col{flex:1 1 260px; min-width:240px; display:flex; flex-direction:column; gap:10px; border-top:1px solid rgba(23,40,31,0.2); padding-top:20px;}
.col .num{font-family:'Fraunces', serif; font-size:28px; color:var(--accent);}
.col .titre{font-size:16px; font-weight:600;}
.col p{margin:0; font-size:15px; line-height:1.6; color:var(--text-2);}

form.pousse{display:flex; flex-direction:column; gap:22px;}
.champ{display:flex; flex-direction:column; gap:6px;}
.champ label{font-size:13px; font-weight:600; color:var(--text-2);}
.champ input, .champ select, .champ textarea{
  box-sizing:border-box;
  padding:12px 14px;
  border:1px solid rgba(23,40,31,0.28);
  border-radius:3px;
  background:var(--card);
  font-size:15px;
  color:var(--ink);
  font-family:'IBM Plex Sans', sans-serif;
  width:100%;
}
.champ .aide{font-size:12px; color:var(--muted);}
.deux-champs{display:flex; gap:16px; flex-wrap:wrap;}
.deux-champs .champ{flex:1 1 220px;}

.declaration{
  display:flex; align-items:flex-start; gap:10px;
  padding:16px; background:var(--paper-2); border-radius:4px;
}
.declaration input{margin-top:3px; width:16px; height:16px; flex-shrink:0;}
.declaration label{font-size:13px; line-height:1.6; color:var(--text);}

.message{padding:14px 16px; border-radius:4px; font-size:14px; margin-bottom:8px;}
.message.erreur{background:rgba(180,80,30,0.1); border:1px solid rgba(180,80,30,0.3); color:var(--warn);}
.message.succes{background:rgba(62,107,79,0.1); border:1px solid rgba(62,107,79,0.3); color:var(--accent-2);}

footer{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  padding:32px 0; font-size:13px; color:var(--muted);
}

.badge{
  font-size:12px; font-weight:600; color:var(--warn);
  background:rgba(180,80,30,0.1); padding:4px 10px; border-radius:12px;
  display:inline-block;
}

.vide{
  padding:48px 24px; text-align:center; display:flex; flex-direction:column; gap:14px; align-items:center;
  background:var(--card); border:1px dashed rgba(23,40,31,0.25); border-radius:6px;
}
