/* monchanvre — Base : reset, typographie, layout, utilitaires
   S'appuie sur les tokens définis dans style.css (:root). */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
	font-family:var(--font-body);
	color:var(--ink);
	background:var(--bg);
	line-height:var(--lh-body);
	-webkit-font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

h1,h2,h3,h4,.disp{
	font-family:var(--font-display);
	font-weight:var(--fw-black);
	letter-spacing:var(--ls-tight);
	line-height:var(--lh-tight);
}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
ul{list-style:none}
button{font-family:inherit}

/* — Accessibilité — */
.screen-reader-text{
	border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);
	height:1px;width:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;word-wrap:normal!important;
}
.skip-link{
	position:absolute;left:-9999px;top:0;z-index:100;
	background:var(--ink);color:#fff;padding:12px 18px;border-radius:0 0 var(--r-md) 0;font-weight:var(--fw-bold);
}
.skip-link:focus{left:0}
:focus-visible{outline:3px solid var(--green);outline-offset:2px;border-radius:4px}

/* — Layout — */
.wrap{max-width:var(--container);margin:0 auto;padding:0 var(--gutter)}
.section{padding:var(--sp-20) 0}
.section--tight{padding-top:0}
.head{text-align:center;max-width:600px;margin:0 auto var(--sp-12)}
.head h2{font-size:var(--fs-2xl);margin:var(--sp-3) 0}
.head p{color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-medium)}
.head--left{text-align:left;margin-left:0}

.site-main{display:block}
.no-results{text-align:center;color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-medium);padding:var(--sp-16) 0}

/* — Largeurs de contenu Gutenberg (pages/articles) — */
.entry-content{max-width:720px}
.entry-content > *{max-width:720px;margin-left:auto;margin-right:auto}
.entry-content > .alignwide{max-width:980px}
.entry-content > .alignfull{max-width:none;width:auto}
.page-content{padding-bottom:var(--sp-16)}

/* — Image placeholders (maquette ; remplacés par de vraies images en prod) — */
.ph{position:relative;overflow:hidden;background:var(--green-soft);display:block}
.ph::after{
	content:attr(data-l);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
	font-size:var(--fs-xs);font-weight:var(--fw-bold);color:rgba(0,0,0,.3);text-align:center;padding:8px;
}
