:root{
  --accent:#0b5ed7;
  --cta:#198754; /* vert */
  --bg:#f5f5f5;
  --card:#fff;
  font-family: Inter, sans-serif;
}

body{margin:0;background:var(--bg);color:#222}
.container{max-width:1180px;margin:auto;padding:0 15px}

/* Header */
.site-header{background:#fff;border-bottom:1px solid #ddd}
.header-inner{display:flex;align-items:center;gap:15px;padding:12px 0}
.logo{text-decoration:none;color:var(--accent);font-size:1.4rem;font-weight:700}
.dot{color:#333}

.post-btn{
  background:var(--cta);
  padding:8px 12px;
  border-radius:6px;
  color:#fff;
  text-decoration:none
}

.pulse{animation:pulse 1.7s infinite}
@keyframes pulse{
  0%{box-shadow:0 0 0 0 rgba(25,135,84,.5)}
  70%{box-shadow:0 0 0 12px rgba(25,135,84,0)}
  100%{box-shadow:0 0 0 0 rgba(25,135,84,0)}
}

/* Hero */
.hero{
  background:#fff;
  padding:35px;
  border-radius:10px;
  margin:25px 0;
  border:1px solid #eee
}
.hero h1{margin:0;font-size:2rem}

.cta-banner{
  background:#e6f4ec; /* vert clair */
  padding:14px;
  border-radius:10px;
  margin:15px 0
}

.cta-big{
  display:inline-block;
  background:var(--cta);
  color:#fff;
  padding:14px 22px;
  border-radius:8px;
  text-decoration:none;
  font-size:1.1rem;
  margin-top:10px
}

/* Categories */
.cats-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:14px;
  margin-top:15px
}
.cat{
  background:#fff;
  padding:18px;
  border-radius:10px;
  text-align:center;
  text-decoration:none;
  color:#000;
  font-weight:600;
  border:1px solid #eee
}

/* Listings */
.listings-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
  margin-top:12px
}
.card{
  background:#fff;
  border-radius:10px;
  border:1px solid #ddd;
  padding:10px
}

/* CTA bottom */
.cta-bottom{
  text-align:center;
  background:#fff;
  border:1px solid #eee;
  padding:35px;
  margin:40px 0;
  border-radius:10px
}
