/* RAYBAUD Charpente - feuille de style autonome (aucune dépendance externe) */
:root{--vert:#037a04;--texte:#474747;--gris:#767676;--panneau:rgba(255,255,255,.9);--largeur:940px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font:13px/1.35 Helvetica,"Helvetica Neue","Trebuchet MS",Arial,sans-serif;color:var(--texte);background:#2a2a2a url(/assets/img/fond-bois.jpg) center top/cover fixed}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
h1,h2,h3{font-weight:normal;margin:0 0 .6em;line-height:1.25}
h1,h2,.titre,.titre-s,nav a{font-family:"Century Gothic","Avant Garde",Muli,Arial,sans-serif}

/* En-tête : barre grise, logo sur onglet blanc */
.entete{background:linear-gradient(var(--gris) 97px,transparent 97px);color:#fff}
.entete-in{max-width:var(--largeur);margin:0 auto;padding:0 20px;display:flex;align-items:flex-start;gap:40px;position:relative}
.logo{background:#fff;width:220px;padding:61px 0;margin-left:-10px;flex:0 0 auto;position:relative;z-index:2;
 clip-path:polygon(0 0,100% 0,100% calc(100% - 28px),50% 100%,0 calc(100% - 28px))}
.logo img{width:100%;mix-blend-mode:multiply}
nav{width:670px;max-width:100%}
nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
nav li{padding-bottom:3px}
nav a{display:block;color:#f1f1f1;text-decoration:none;font-size:16px;line-height:21.6px;padding:12px 0 11px;margin:0 10px;border-bottom:1px solid transparent}
nav a:hover,nav a.current{color:#fff;border-bottom-color:#fff}
.burger{display:none}

/* Bannière */
.banniere{max-width:var(--largeur);margin:55px auto 0;position:relative;overflow:hidden;background:#a0a0a0}
.banniere img{width:100%}
.banniere strong{position:absolute;left:0;right:0;top:69.2%;text-align:center;font:bold clamp(26px,7.6vw,72px)/1.2 Tahoma,Geneva,sans-serif;color:var(--vert);background:linear-gradient(transparent .153em,rgba(255,255,255,.5) .153em,rgba(255,255,255,.5) 1.083em,transparent 1.083em)}

/* Contenu */
.page{max-width:var(--largeur);margin:20px auto;background:var(--panneau);padding:20px}
.page.avec-lateral{display:grid;grid-template-columns:200px 1fr;gap:30px}
.lateral{font-size:13px}
.lateral h2{font-size:16px;border-bottom:1px solid #aaa;padding-bottom:4px;margin-top:20px}
main{min-width:0}
section{margin-bottom:34px}
.titre{font-size:19.6px;text-align:center;color:var(--texte);border-bottom:1px solid #aaa;padding-bottom:6px;margin:0 0 14px}
.titre small{font-size:14px;margin-left:10px}
.titre-s{font-size:13px;text-transform:none;border-bottom:1px solid #aaa;padding:10px 0 4px;margin:0 0 8px;font-weight:normal}
.intro{text-align:center}
.intro h3,.intro .sous-titre{font-size:15.21px;font-weight:bold;margin:0 0 .6em}
.vert{color:var(--vert);font-size:clamp(20px,4.6vw,30px);font-weight:bold}
.hero{margin:0 auto 18px;max-width:283px}
figure{margin:0 0 10px}
figcaption{font-size:11px;padding:3px 0 0}
figure.centre{max-width:900px;margin:12px auto 0}
.zoom,.gallery a,.collage a,.texte-image a{display:block}

/* Galeries */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.gallery img{width:100%;aspect-ratio:1/1;object-fit:cover}
.rang{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px}
.collage{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.collage>div{display:grid;gap:10px;align-content:start}
.texte-image{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px;align-items:start}
.cartes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}
.cartes article{background:#fff;padding:0 0 10px}
.cartes h3{font-size:15px;padding:6px 10px 0;margin:0}
.cartes.deux-metiers{grid-template-columns:repeat(2,1fr)}.cartes article p{padding:4px 10px 0;margin:0}
.metier ul,.page main section>ul{padding-left:22px}
main section>h3{font-size:16px;font-weight:bold;margin:14px 0 8px}
.cta{margin:14px 0}.cta a:first-child{display:inline-block;background:var(--vert);color:#fff;padding:9px 16px;text-decoration:none}.cta a:first-child:hover{background:#025a03}
.cartes figure{margin:0}.cartes figcaption{padding-left:10px}
.cartes a{text-decoration:none}
.deux{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:20px}
.trois{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:20px}
.partenaires{text-align:center}.partenaires img{margin:0 auto 10px}.partenaires h2{font-size:18px}.partenaires .logo-sombre{background:#2a2a2a;padding:10px 16px;box-sizing:content-box;max-width:calc(100% - 32px);height:auto}
hr{border:0;border-top:1px solid #aaa;margin:14px 0}

.pied{max-width:var(--largeur);margin:0 auto;padding:6px 20px 24px;color:#f1f1f1;font-size:13px;text-align:center}

/* Contact / plan */
.formulaire{max-width:600px}
.formulaire label{display:block;margin:0 0 12px;font-weight:bold}
.formulaire input[type=text],.formulaire input[type=email],.formulaire textarea{display:block;width:100%;margin-top:4px;padding:8px;font:inherit;border:1px solid #999;background:#fff}
.formulaire .consent{display:flex;gap:8px;font-weight:normal}
.formulaire .note{font-size:12px}
.formulaire button{background:var(--vert);color:#fff;border:0;padding:10px 18px;font:inherit;cursor:pointer}
.formulaire button:hover{background:#025a03}
.alerte{padding:10px 12px;margin:0 0 14px;border:1px solid}.alerte.ok{background:#e6f4e6;border-color:#037a04;color:#025a03}.alerte.ko{background:#fbeaea;border-color:#b00;color:#800}
.piege{position:absolute;left:-9999px;height:0;overflow:hidden}
.captcha{margin:0 0 12px}.captcha>label{display:block;font-weight:bold}.captcha-ligne{display:flex;align-items:center;gap:12px;margin:6px 0;flex-wrap:wrap}.captcha-ligne svg{display:block;border:1px solid #bbb}.captcha input{max-width:200px;text-transform:uppercase;letter-spacing:2px;display:block;width:100%;padding:8px;font:inherit;border:1px solid #999;background:#fff}
.formulaire button.lien{background:none;border:0;color:var(--vert);text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.carte iframe{width:100%;height:400px;border:0;display:block}


/* Diaporama (accueil) */
.diapo.pret{display:block;position:relative;height:min(375px,72vw);overflow:hidden;background:rgba(0,0,0,.04)}
.diapo.pret a{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .8s,visibility .8s}
.diapo.pret a.actif{opacity:1;visibility:visible;z-index:1}
.diapo.pret img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
.diapo .dp,.diapo .dn{position:absolute;top:50%;z-index:2;width:40px;height:56px;margin-top:-28px;border:0;background:rgba(0,0,0,.35);color:#fff;font-size:34px;line-height:56px;padding:0;cursor:pointer;transition:background .15s}
.diapo .dp{left:0;border-radius:0 4px 4px 0}.diapo .dn{right:0;border-radius:4px 0 0 4px}
.diapo .dp::before{content:"‹"}.diapo .dn::before{content:"›"}
.diapo .dp:hover,.diapo .dn:hover{background:rgba(0,0,0,.6)}

/* Visionneuse */
.lb{position:fixed;inset:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;z-index:50}
.lb[hidden]{display:none}
.lb .cadre{background:#fff;padding:6px 6px 0;border-radius:3px;box-shadow:0 4px 24px rgba(0,0,0,.5);max-width:96vw}
.lb .vue{position:relative;line-height:0}
.lb img{display:block;max-width:calc(96vw - 12px);max-height:calc(100vh - 110px);width:auto;height:auto;margin:0 auto}
.lb .vue button{position:absolute;top:0;bottom:0;width:50%;background:none;border:0;padding:0;cursor:pointer;color:#fff;font-size:44px;line-height:1;opacity:0;transition:opacity .15s;text-shadow:0 0 6px rgba(0,0,0,.8)}
.lb .p{left:0;text-align:left;padding-left:14px}.lb .n{right:0;text-align:right;padding-right:14px}
.lb .p::before{content:"‹"}.lb .n::before{content:"›"}
.lb .vue button:hover,.lb .vue button:focus-visible{opacity:1}
@media (hover:none){.lb .vue button{opacity:.8;width:25%}}
.lb.seule .vue button{display:none}
.lb .barre{display:flex;align-items:center;gap:8px;padding:6px 2px;font:12px Arial,sans-serif;color:#444;min-height:36px}
.lb .stats{flex:1}
.lb .barre button{width:28px;height:28px;border:0;border-radius:50%;background:#555;color:#fff;font-size:13px;line-height:28px;padding:0;cursor:pointer}
.lb .barre button:hover{background:var(--vert)}
.lb.seule .lecture{display:none}

/* Téléphone / tablette */
@media (max-width:767px){
 /* Comme l'original : barre grise avec icône ≡, menu déroulant pleine largeur, logo sur onglet blanc dessous */
 .entete{background:transparent}
 .entete-in{flex-direction:column;align-items:stretch;padding:0;gap:0}
 .burger{order:1;display:block;width:100%;height:53px;margin:0;padding:0;border:0;background-color:var(--gris);cursor:pointer;font-size:0;color:transparent;
  background-image:linear-gradient(#222 0 0),linear-gradient(#222 0 0),linear-gradient(#222 0 0);
  background-repeat:no-repeat;background-size:26px 3px;background-position:14px 16px,14px 25px,14px 34px}
 nav{order:2;display:none;width:auto;background:var(--gris)}
 nav li{padding-bottom:0}
 nav.ouvert{display:block}
 nav ul{display:block;padding:0;margin:0}
 nav li{border-top:1px solid rgba(255,255,255,.85)}
 nav a,nav a:hover,nav a.current{display:block;margin:0;padding:12px 20px;font:16px "Century Gothic","Avant Garde",Muli,Arial,sans-serif;color:#f1f1f1;border:0}
 .logo{order:3;align-self:center;width:240px;margin:0 0 20px;padding:60px 10px 90px;clip-path:polygon(0 0,100% 0,100% 85%,50% 100%,0 85%)}
 .logo::after{content:"";position:absolute;left:10px;right:10px;top:192px;border-top:1px solid #ccc}
 .banniere{margin:0 10px}
 .page{margin:20px 10px;padding:14px}
 .page.avec-lateral{grid-template-columns:1fr}
 .lateral{order:2;margin-top:20px;border-top:1px solid #aaa;padding-top:10px}.lateral img{margin:0 auto}
 .collage,.texte-image,.cartes,.cartes.deux-metiers,.deux,.trois{grid-template-columns:1fr}
 .gallery{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
}
@media print{.entete,.banniere,.burger,.lb{display:none}body{background:#fff}.page{background:#fff}}
