:root{--vert:#14532D;--vert-f:#0d3a20;--or:#C8A44D;--ivoire:#FAF7F0;--accent:#1F8A8C;--accent-f:#0D3C5E;--texte:#22302a;--gris:#5c6a63}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Segoe UI',system-ui,Arial,sans-serif;background:var(--ivoire);color:var(--texte);line-height:1.55}
a{color:var(--accent-f)}
header.site{background:var(--vert);position:sticky;top:0;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.barre{max-width:1150px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:8px 14px}
.barre img{width:46px;height:46px}
.marque{font-weight:800;font-size:1.35rem;color:#fff;letter-spacing:.5px;white-space:nowrap}
.marque span{color:var(--or)}
nav{margin-left:auto;display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
nav a{color:#eaf3ec;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:.95rem;white-space:nowrap}
nav a:hover,nav a.actif{background:var(--vert-f);color:#fff}
.hero{position:relative;min-height:380px;display:flex;align-items:flex-end;color:#fff}
.hero img.fond{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .voile{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,40,24,.05),rgba(10,40,24,.78))}
.hero .texte{position:relative;max-width:1150px;margin:0 auto;padding:34px 16px;width:100%}
.hero h1{font-size:2.6rem;line-height:1.08;text-shadow:0 2px 10px rgba(0,0,0,.4)}
.hero h1 span{display:block;font-size:1.25rem;font-weight:600;color:#ffe49a;margin-top:8px}
.hero p{max-width:640px;margin:10px 0 16px}
.btn{display:inline-block;background:var(--or);color:#20301f;font-weight:700;padding:11px 20px;border-radius:10px;text-decoration:none;margin-right:8px}
.btn.alt{background:#fff;color:var(--vert)}
main{max-width:1150px;margin:0 auto;padding:22px 16px 30px}
h2{font-size:1.45rem;color:var(--vert);margin:22px 0 12px;border-left:5px solid var(--or);padding-left:10px}
h2:first-child{margin-top:2px}
.grille{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.carte{background:#fff;border:1px solid #e5e0d2;border-radius:14px;padding:16px;box-shadow:0 1px 4px rgba(20,60,35,.06)}
.carte h3{font-size:1.08rem;margin:6px 0;color:var(--vert-f)}
.carte p{font-size:.95rem;color:#3d4a43}
.carte a.plus{font-weight:700;color:var(--accent-f);text-decoration:none}
.tag{display:inline-block;background:var(--accent);color:#fff;font-size:.72rem;font-weight:700;padding:3px 9px;border-radius:20px;text-transform:uppercase;letter-spacing:.4px}
.tag.o{background:var(--or);color:#20301f}
.tag.v{background:var(--vert)}
.modules{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
.module{background:#fff;border-top:4px solid var(--accent);border-radius:10px;padding:14px 16px;box-shadow:0 1px 4px rgba(20,60,35,.07)}
.module h3{color:var(--accent-f);font-size:1.02rem;margin-bottom:6px}
.module p,.module li{font-size:.93rem}
.module ul{margin-left:18px}
.note{font-size:.8rem;color:var(--gris);font-style:italic}
.pub{background:linear-gradient(90deg,var(--vert),var(--vert-f));color:#fff;border-radius:14px;padding:20px;text-align:center;margin:26px 0}
.pub h3{font-size:1.3rem;color:#ffe49a}
.pub p{margin:6px 0 12px}
.pub .btn{background:#fff;color:var(--vert)}
.fiche{border-radius:14px;padding:16px;background:#fff;border:1px solid #e5e0d2}
.fiche.premium{border:2px solid var(--or);box-shadow:0 3px 12px rgba(200,164,77,.25)}
.fiche .badge{float:right;background:var(--or);color:#20301f;font-weight:800;font-size:.72rem;padding:3px 9px;border-radius:20px}
.fiche .badge.g{background:#e8e4d8;color:#5c6a63}
.fiche h3{color:var(--vert-f)}
.fiche .photo{background:linear-gradient(135deg,var(--accent),var(--accent-f));color:#fff;border-radius:10px;padding:26px 12px;text-align:center;font-weight:700;margin:8px 0}
.wa{display:inline-block;background:#25D366;color:#07351a;font-weight:700;padding:8px 14px;border-radius:9px;text-decoration:none;margin-top:8px}
table.tarifs{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(20,60,35,.08)}
table.tarifs td,table.tarifs th{padding:10px 14px;border-bottom:1px solid #eee7d6;text-align:left;font-size:.97rem}
table.tarifs th{background:var(--vert);color:#fff}
table.tarifs td.prix{font-weight:800;color:var(--vert-f);white-space:nowrap;text-align:right}
.offre{background:#fdf3d8;border:1.5px dashed var(--or);border-radius:14px;padding:16px 18px;margin:18px 0}
.partage{display:flex;gap:8px;margin-top:10px}
.partage a{font-size:.85rem;font-weight:700;text-decoration:none;padding:6px 12px;border-radius:20px;color:#fff}
.partage .fb{background:#1877F2}.partage .wapp{background:#25D366;color:#07351a}
article.actu{background:#fff;border:1px solid #e5e0d2;border-radius:14px;padding:20px;margin-bottom:16px}
article.actu h3{color:var(--vert-f);font-size:1.2rem}
article.actu .date{font-size:.85rem;color:var(--gris)}
article.actu p{margin:8px 0}
.sources{font-size:.82rem;color:var(--gris)}
footer.site{background:var(--vert-f);color:#dcebe0;margin-top:34px}
footer.site .cols{max-width:1150px;margin:0 auto;padding:24px 16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
footer.site h4{color:var(--or);margin-bottom:8px}
footer.site a{color:#dcebe0;text-decoration:none;display:block;padding:2px 0;font-size:.95rem}
footer.site a:hover{text-decoration:underline}
.pied{border-top:1px solid rgba(255,255,255,.16);text-align:center;padding:13px 10px;font-size:.88rem;color:#bcd4c2}
.barre-mobile{display:none}
@media (max-width:760px){
 .hero h1{font-size:2rem}
 .barre-mobile{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--vert);z-index:60;box-shadow:0 -2px 10px rgba(0,0,0,.25)}
 .barre-mobile a{flex:1;text-align:center;color:#fff;text-decoration:none;font-weight:700;padding:13px 4px;font-size:.92rem;border-right:1px solid rgba(255,255,255,.15)}
 .barre-mobile a:last-child{border-right:none;color:#ffe49a}
 body{padding-bottom:52px}
}
