/* =========================================================
   Ernest & Co 2026 · styles du site
   Couleurs : jaune #FFD800 · noir #000 · gris #EFEDED · blanc
   Police unique : Lexend Deca
   ========================================================= */

:root{--acc:#FFD800;--noir:#000000;--gris:#EFEDED}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#ffffff;color:#000000;font-family:'Lexend Deca',system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:300;line-height:1.5}
img{max-width:100%}
a{color:#000000}a:hover{color:#000000}
button{font-family:inherit}
.site{overflow-x:clip}
.skip-link{position:absolute;left:-9999px;top:8px;z-index:100;background:#000;color:#fff;padding:10px 16px;border-radius:80px}
.skip-link:focus{left:8px;color:#fff}
:focus-visible{outline:3px solid #000;outline-offset:3px}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* ---------- Grilles et conteneur ---------- */
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.g2{display:grid;grid-template-columns:1.1fr 0.9fr;gap:64px;align-items:start}
.g2e{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.g5{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.gp{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.g-text{display:grid;grid-template-columns:1fr 2fr;gap:24px 64px;align-items:start}
.round-top{border-radius:128px 128px 0 0}
.round-both{border-radius:128px}
.round-bottom{border-radius:0 0 128px 128px}

/* ---------- Trait sous les titres (type.svg) et flèche de liste (fleche.svg) ---------- */
span[style*="width: 56px; height: 6px"]{height:24px!important;border-radius:0!important;-webkit-mask:url(../img/type.svg) no-repeat left center/contain;mask:url(../img/type.svg) no-repeat left center/contain}
[style*="align-items: center"]>span[style*="width: 56px; height: 6px"]{-webkit-mask-position:center;mask-position:center}
.fl{display:inline-block;flex:none;width:.5em;height:.72em;margin-right:.5em;background:currentColor;-webkit-mask:url(../img/fleche.svg) no-repeat center/contain;mask:url(../img/fleche.svg) no-repeat center/contain;vertical-align:-.04em}

/* ---------- Boutons, liens, survols ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;text-decoration:none;font-size:16px;font-weight:700;border-radius:80px;padding:17px 30px;line-height:1.2;cursor:pointer}
.btn,.arrow,.nav-a,.flink,.chip{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn-dark{background:#000;color:#fff}
.btn-acc{background:var(--acc);color:#000}
.btn-line{border:2px solid #000;padding:15px 28px}
.btn-dark:hover{background:var(--acc)!important;color:#000000!important}
.btn-acc:hover{background:#000000!important;color:var(--acc)!important}
.btn-line:hover{background:#000000!important;color:#ffffff!important;border-color:#000000!important}
.btn-line-acc:hover{background:#000000!important;color:var(--acc)!important}
.btn.rond{width:48px;height:48px;padding:0;border-radius:50%}
.nav-a:hover,.nav-on{box-shadow:inset 0 -8px 0 var(--acc)}
.card-link:hover .arrow{background:var(--acc)!important;color:#000000!important}
.flink{color:#fff;text-decoration:none}
.flink:hover{color:var(--acc)!important}
.chip{cursor:pointer;font-family:inherit;color:#000}
.chip:hover{background:var(--acc)!important;border-color:var(--acc)!important;color:#000!important}

/* ---------- En-tête ---------- */
.site-header{padding:22px 0}
/* En-tête collant (comme l'ancien site) : bloc blanc arrondi au défilement, masqué en descendant, réaffiché en remontant */
@media (min-width:861px){
.site-header{position:sticky;top:var(--wp-admin--admin-bar--height,0px);z-index:60;padding:16px 0;transition:transform .45s ease}
.site-header-in{transition:background .3s ease,box-shadow .3s ease,padding .3s ease,border-radius .3s ease;border-radius:32px}
.site-header.is-scrolled .site-header-in{background:#fff;box-shadow:0 0 20px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.04);padding:14px 28px}
.site-header.is-off{transform:translateY(-130%)}
}
.site-header-in{display:flex;justify-content:space-between;align-items:center;gap:24px}
.site-logo{display:flex}
.site-logo img{width:220px;height:auto;display:block}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-a{font-size:16px;text-decoration:none;font-weight:400}
.nav-poche{font-weight:700}

/* ---------- Pied de page ---------- */
.site-footer{background:#000;color:#fff;padding:56px 0 40px}
.footer-bas{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px;font-weight:300;border-top:1px solid #333;padding-top:24px}

/* ---------- Fil d'Ariane ---------- */
.crumb{font-size:14px;font-weight:300}
.crumb ol{list-style:none;margin:0;padding:0;display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.crumb a{text-decoration:underline}
.crumb [aria-current]{font-weight:500}
.crumb .crumb-sep{display:flex;align-items:center}
.crumb .crumb-sep .fl{margin:0}
/* Fil d'Ariane Yoast (fiches projets) */
.crumb.yoast span span{display:inline}
.crumb.yoast a{text-decoration:underline}
.crumb.yoast .breadcrumb_last{font-weight:500}

/* ---------- Visuels ---------- */
.ec-visuel-vide{background:var(--gris);border-radius:32px;width:100%}
.visuel-cover{width:100%;height:100%;object-fit:cover;display:block}
.carte-projet img{transition:transform .4s ease}
.carte-projet:hover img{transform:scale(1.03)}
.carte-projet .visu{overflow:hidden;border-radius:32px}

/* ---------- Filtres réalisations ---------- */
.chip[aria-pressed="true"]{background:#000!important;color:#fff!important;border-color:#000!important;font-weight:700!important}
.carte-projet[hidden]{display:none!important}

/* ---------- Formulaire ---------- */
.champ{font:inherit;font-size:16px;font-weight:300;padding:14px 18px;border:2px solid #000;border-radius:16px;background:#fff;color:#000;width:100%}
.champ:focus{outline:3px solid var(--acc);outline-offset:0}
.form-msg{margin:0;font-size:16px;font-weight:500;padding:16px 20px;border-radius:16px}
.form-msg.ok{background:var(--acc)}
.form-msg.ko{background:#000;color:#fff}
.form-msg[hidden]{display:none}
button[disabled]{opacity:.6;cursor:wait}

/* ---------- Contenu éditable (mentions légales, pages simples) ---------- */
.contenu-wp{font-size:17px;line-height:1.7;font-weight:300}
.contenu-wp>*:first-child{margin-top:0}
.contenu-wp h2{font-size:20px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.4;margin:56px 0 12px}
.contenu-wp h2::after{content:"";display:block;width:56px;height:24px;margin-top:14px;background:#000;-webkit-mask:url(../img/type.svg) no-repeat left center/contain;mask:url(../img/type.svg) no-repeat left center/contain}
.contenu-wp h3{font-size:22px;font-weight:500;margin:32px 0 8px}
.contenu-wp a{text-decoration:underline}
.contenu-wp ul{list-style:none;padding:0}
.contenu-wp ul li::before{content:"";display:inline-block;width:.5em;height:.72em;margin-right:.5em;background:currentColor;-webkit-mask:url(../img/fleche.svg) no-repeat center/contain;mask:url(../img/fleche.svg) no-repeat center/contain;vertical-align:-.04em}
.contenu-wp img{height:auto;border-radius:32px}

/* ---------- Menu et barre mobiles (cachés sur ordinateur) ---------- */
.mobile-bar,.menu-mobile{display:none}

/* =========================================================
   MOBILE ET TABLETTE (860 px et moins)
   ========================================================= */
@media (max-width:860px){
	.wrap{padding:0 20px}
	.g2,.g2e,.g3,.gp,.g5,.g-text{grid-template-columns:1fr!important}
	/* Services : sur mobile, l'image du bloc « Supports » passe sous son texte, comme les blocs 1 et 3 */
	#supports > div:first-child{order:2}
	.g4{grid-template-columns:1fr}
	.round-top{border-radius:64px 64px 0 0}
	.round-both{border-radius:64px}
	.round-bottom{border-radius:0 0 64px 64px}

	/* En-tête : logo seul, le menu passe dans la barre du bas */
	.nav-links{display:none}
	.site-logo img{width:170px}
	.site-header{padding:18px 0}

	/* Grilles écrites en ligne dans les gabarits */
	[style*="grid-template-columns"]{grid-template-columns:1fr!important}

	/* Tailles de texte */
	[style*="font-size: 48px"]{font-size:26px!important}
	[style*="font-size: 40px"]{font-size:24px!important}
	[style*="font-size: 30px"]{font-size:26px!important}
	[style*="font-size: 22px"]{font-size:19px!important}
	[style*="font-size: 20px"]{font-size:17px!important}
	[style*="padding: 0 18px 4px"]{padding:0 10px 3px!important}

	/* Espacements des sections (du plus général au plus précis) */
	[style*="padding: 112px 0"]{padding:64px 0!important}
	[style*="padding: 112px 0 0"]{padding:64px 0 0!important}
	[style*="padding: 112px 0 112px"]{padding:64px 0!important}
	[style*="padding: 128px 0 112px"]{padding:80px 0 64px!important}
	[style*="padding: 120px 0 104px"]{padding:80px 0 64px!important}
	[style*="padding: 72px 0 112px"]{padding:28px 0 64px!important}
	[style*="padding: 72px 0 120px"]{padding:40px 0 88px!important}
	[style*="padding: 72px 0 72px"]{padding:28px 0 48px!important}
	[style*="padding: 40px 0 104px"]{padding:24px 0 64px!important}
	[style*="padding: 40px 0 88px"]{padding:32px 0 64px!important}
	[style*="padding: 96px 0 72px"]{padding:56px 0 48px!important}
	[style*="padding: 96px 0 0"]{padding:56px 0 0!important}
	[style*="padding: 96px 0 112px"]{padding:56px 0 64px!important}
	[style*="padding: 0 0 112px"]{padding:0 0 64px!important}
	[style*="padding: 0 0 150px"]{padding:0 0 64px!important}
	[style*="padding: 0 0 72px"]{padding:0 0 48px!important}
	[style*="margin: 0 0 112px"]{margin:0 0 64px!important}
	[style*="padding: 64px;"],[style*="padding: 64px\""]{padding:32px 24px!important}
	[style*="padding: 56px\""],[style*="padding: 56px;"]{padding:32px 24px!important}
	[style*="padding: 48px;"],[style*="padding: 48px\""]{padding:28px!important}
	[style*="padding: 40px 48px"],[style*="padding: 36px 48px"],[style*="padding: 36px 40px"]{padding:28px 24px!important}
	[style*="padding: 40px;"],[style*="padding: 40px\""]{padding:28px 24px!important}
	[style*="padding: 36px;"],[style*="padding: 36px\""]{padding:28px!important}
	[style*="padding: 22px 26px"],[style*="padding: 20px 26px"]{padding:16px 20px!important}
	[style*="gap: 112px"]{gap:72px!important}
	[style*="gap: 72px"]{gap:48px!important}
	[style*="gap: 64px"]{gap:40px!important}
	[style*="min-height: 300px"],[style*="min-height: 270px"]{min-height:0!important}
	[style*="height: 640px"]{height:300px!important}
	[style*="height: 480px"]{height:auto!important}
	[style*="height: 460px"]{height:260px!important}
	[style*="height: 440px"]{height:280px!important}
	[style*="height: 340px"]{height:240px!important}
	[style*="margin: 0 0 0 36px"]{margin:0 0 0 20px!important}
	[style*="min-width: 110px"]{min-width:0!important}
	[style*="max-width: 560px"],[style*="max-width: 580px"],[style*="max-width: 500px"]{max-width:none!important}

	/* Visuels de haut de page : masqués sur mobile, sauf accueil, À propos et fiches projets */
	.hero-visual{display:none!important}
	.home .hero-visual,.single-projet .hero-visual{display:flex!important;width:100%!important;height:300px!important}
	.page-a-propos .hero-visual{display:block!important;width:280px!important;height:280px!important;margin:0 auto}
	.apropos-visuel{width:100%!important}
	/* Gros pictos décoratifs : masqués sur mobile */
	.deco,.poche-visu{display:none!important}
	.hero-illu{height:auto!important}
	.hero-illu img{width:100%!important;max-width:340px;height:auto!important;margin:0 auto}

	/* Barre du bas et menu plein écran */
	.site-footer{padding-bottom:104px}
	.mobile-bar{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:50;grid-template-columns:1fr 1fr;height:64px}
	.mobile-bar-menu,.mobile-bar-contact{display:flex;align-items:center;justify-content:center;gap:10px;font-size:17px;text-decoration:none;color:#000;border:0}
	.mobile-bar-menu{background:#fff;font-weight:500;border-top:1px solid #e5e5e5;cursor:pointer}
	.mobile-bar-contact{background:var(--acc);font-weight:700}
	.mb-fermer,.mb-ico-fermer{display:none}
	.menu-ouvert .mb-ouvrir,.menu-ouvert .mb-ico-ouvrir{display:none}
	.menu-ouvert .mb-fermer{display:inline}
	.menu-ouvert .mb-ico-fermer{display:block}
	.menu-mobile{position:fixed;inset:0 0 64px 0;z-index:40;background:#fff;overflow:auto}
	.menu-mobile:not([hidden]){display:flex}
	.menu-mobile nav{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;padding:48px 24px 32px}
	.menu-mobile nav>a:first-child img{width:190px;height:auto;display:block}
	.menu-mobile ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:22px}
	.menu-mobile ul a{text-decoration:none;font-size:22px}
	.menu-mobile-reseaux{display:flex;gap:14px}
	.menu-ouvert{overflow:hidden}
}

@media (prefers-reduced-motion:reduce){
	*{scroll-behavior:auto!important;transition:none!important}
}
/* Textes saisis dans le back office (pages locales) */
.ec-texte p{margin:0;font-size:17px;line-height:1.7;font-weight:300}
.ec-texte a{font-weight:700}
.ec-texte strong{font-weight:700}
.ec-liste{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:17px;font-weight:300;line-height:1.5}

/* Apparition au défilement (sous le premier écran uniquement ; désactivée si « réduire les animations ») */
.ec-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}
.ec-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.ec-reveal{opacity:1!important;transform:none!important;transition:none!important}}
