/*
Theme Name: Le Paysan — Stable
Author: Le Paysan
Description: Thème officiel stable du média agricole Le Paysan.
Version: 1.0.0
Text Domain: lepaysan-stable
*/

:root{--green:#176b37;--dark:#0d2e1a;--yellow:#e8bd1b;--cream:#f7f7f1;--white:#fff;--gray:#66736a}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--dark);background:var(--cream);line-height:1.6}
a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}
img{max-width:100%;height:auto}
.wrap{width:min(1180px,calc(100% - 40px));margin:auto}
.topbar{padding:7px 0;background:var(--dark);color:#fff;font-size:.9rem}
.topbar .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-header{background:#fff;border-bottom:4px solid var(--yellow)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:22px 0}
.brand{display:flex;align-items:center;gap:14px;color:var(--dark);text-decoration:none}
.brand-mark{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:var(--green);color:#fff;font-weight:800;font-size:1.4rem}
.brand-title{margin:0;font-size:1.8rem;line-height:1;font-weight:800}.brand-tagline{margin:6px 0 0;color:var(--gray);font-size:.9rem}
.main-nav{background:var(--green)}.main-nav ul{display:flex;gap:0;margin:0;padding:0;list-style:none;overflow:auto}.main-nav a{display:block;padding:14px 18px;color:#fff;font-weight:700;white-space:nowrap}.main-nav a:hover{background:var(--dark);text-decoration:none}
.hero{padding:64px 0;background:linear-gradient(125deg,var(--dark),var(--green));color:#fff}.hero-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:38px;align-items:center}.eyebrow{color:var(--yellow);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.hero h1{max-width:780px;margin:10px 0 16px;font-size:clamp(2.2rem,5vw,4.5rem);line-height:1.05}.hero p{max-width:700px;font-size:1.15rem}.hero-card{padding:30px;border:1px solid rgba(255,255,255,.25);border-radius:16px;background:rgba(255,255,255,.1)}
.button{display:inline-block;padding:12px 20px;border-radius:6px;background:var(--yellow);color:var(--dark);font-weight:800}.button:hover{text-decoration:none;filter:brightness(.95)}
.section{padding:54px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px;border-bottom:2px solid #dde4df}.section-title h2{margin:0 0 -2px;padding-bottom:10px;border-bottom:4px solid var(--yellow);font-size:1.8rem}
.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 5px 20px rgba(13,46,26,.08)}.card-image{display:block;aspect-ratio:16/9;background:#dce8df;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:cover}.card-body{padding:20px}.card h3{margin:0 0 10px;font-size:1.25rem;line-height:1.3}.meta{color:var(--gray);font-size:.86rem}.placeholder{display:grid;place-items:center;height:100%;min-height:180px;color:var(--green);font-weight:800}
.services{background:#edf3ee}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.feature{padding:24px;border-top:5px solid var(--yellow);background:#fff}.feature h3{margin-top:0}.feature p{margin-bottom:0;color:var(--gray)}
.ad-space{padding:24px;border:2px dashed #b7c5ba;background:#fff;text-align:center;color:var(--gray)}
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:38px;padding:48px 0}.entry{padding:32px;background:#fff}.entry h1{line-height:1.15}.entry-content{font-size:1.05rem}.sidebar-box{margin-bottom:20px;padding:22px;background:#fff}.sidebar-box h3{margin-top:0;border-bottom:3px solid var(--yellow)}
.site-footer{padding:48px 0 18px;background:var(--dark);color:#dce8df}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:35px}.site-footer h3{color:#fff}.site-footer a{color:#fff}.copyright{margin-top:35px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15);font-size:.88rem}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:850px){.hero-grid,.content-layout{grid-template-columns:1fr}.posts-grid{grid-template-columns:repeat(2,1fr)}.feature-grid,.footer-grid{grid-template-columns:1fr 1fr}.header-inner{align-items:flex-start;flex-direction:column}}
@media(max-width:560px){.posts-grid,.feature-grid,.footer-grid{grid-template-columns:1fr}.wrap{width:min(100% - 28px,1180px)}.hero{padding:45px 0}.brand-title{font-size:1.45rem}}
