/* Styles ajoutés à la version vitrine (menu mobile, pieds de page, formulaires, pages légales) */
.nav-logo .nav-icone{width:34px;height:34px;vertical-align:middle;margin-right:.6rem;border-radius:50%}
.hero-logo{display:block;margin:0 auto 1.6rem;width:190px;height:auto;border-radius:18px;box-shadow:0 10px 30px rgba(107,66,38,.12)}
.nav-toggle{display:none;background:none;border:1px solid #ecdcc8;border-radius:8px;width:46px;height:46px;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.nav-toggle span{display:block;width:20px;height:2px;background:#6b4226;transition:transform .25s,opacity .25s}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:900px){
  .nav-toggle{display:flex}
  nav .nav-links{display:none}
  nav .nav-links.open{display:flex !important;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(253,248,242,.98);padding:1.2rem 1.5rem 1.6rem;gap:1.2rem;border-bottom:1px solid #ecdcc8;box-shadow:0 14px 26px rgba(61,36,18,.1)}
  nav .nav-links.open a{font-size:.95rem}
}
.footer-logo img{width:38px;height:38px;vertical-align:middle;margin-right:.7rem;border-radius:50%}
.footer-legal{font-size:.75rem;letter-spacing:.06em;color:rgba(245,237,224,.6)}
.footer-legal a{color:rgba(245,237,224,.8);text-decoration:underline;text-underline-offset:3px}
.footer-legal a:hover{color:#fff}
/* formulaires */
.hp{position:absolute !important;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{display:block;font-size:.82rem;line-height:1.5;color:#7a5c42;margin:.6rem 0 1rem;text-transform:none;letter-spacing:0}
.consent input{float:left;margin:.2rem .6rem 0 0;width:auto}
.consent a{color:#c8601a}
.form-note{font-size:.8rem;line-height:1.5;color:#7a5c42;margin:.4rem 0 1rem}
/* pages légales */
body.page-legale{margin:0;background:#fdf8f2;color:#2e1a0e;font-family:'Jost',Arial,sans-serif;line-height:1.75}
.legal-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;background:rgba(253,248,242,.97);border-bottom:1px solid #ecdcc8}
.legal-nav a{color:#6b4226;text-decoration:none;font-size:.9rem}
.legal-nav .nav-logo{font-family:'Cormorant Garamond',Georgia,serif;font-size:1.25rem;letter-spacing:.04em}
main.legal{max-width:780px;margin:0 auto;padding:3rem 1.5rem 4rem}
main.legal h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(2rem,5vw,2.9rem);color:#3d2412;line-height:1.15;margin:0 0 .6rem}
main.legal .maj{color:#7a5c42;font-size:.85rem;margin-bottom:2rem}
main.legal h2{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.55rem;color:#6b4226;margin:2.2rem 0 .6rem}
main.legal p,main.legal li{font-size:1rem;color:#2e1a0e}
main.legal ul{padding-left:1.2rem}
main.legal a{color:#c8601a}
main.legal .cadre{background:#f5ede0;border-left:3px solid #c8601a;padding:1rem 1.2rem;border-radius:4px;margin:1.2rem 0}
.legal-pied{background:#3d2412;color:rgba(245,237,224,.75);padding:1.6rem 1.5rem;text-align:center;font-size:.8rem}
.legal-pied a{color:#f2d4b8}

/* --- Accueil : bandeau --- */
.hero-banner{position:relative;padding:9rem 3rem 5.5rem;min-height:560px;display:flex;align-items:center;background-color:#f6efe4;background-image:url('images/bandeau-accueil.jpg');background-repeat:no-repeat;background-position:center bottom;background-size:100% auto}
.hero-banner-texte{margin-left:5%;margin-right:auto;width:min(660px,58%);text-align:center}
.hero-banner h1{font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;font-size:clamp(2.7rem,5.2vw,4.5rem);line-height:1.08;color:#2b4a45;margin:0 0 .5rem}
.hb-sous{font-size:clamp(1.05rem,1.8vw,1.45rem);color:#56697a;margin:0;font-weight:300}
.hb-trait{width:110px;border:0;border-top:1px solid #8aa39a;margin:1.5rem auto}
.hb-liste{font-size:clamp(.95rem,1.4vw,1.1rem);color:#34494f;margin:0 0 .5rem;line-height:1.7}
.hb-liste span{color:#9bb0a3;margin:0 .55rem}
.hb-publics{font-size:clamp(.9rem,1.3vw,1.02rem);color:#7b8f7a;margin:0 0 1.5rem;letter-spacing:.02em}
.hb-devise{font-family:'Cormorant Garamond',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.8rem,3vw,2.35rem);line-height:1.2;color:#c8601a;margin:1.9rem 0 1.2rem}
.hb-desc{font-size:.98rem;line-height:1.85;color:#7a5c42;font-weight:300;margin:0 auto;max-width:34rem}
.hero-dessin{position:absolute;left:65%;top:46%;transform:translate(-50%,-50%);width:clamp(170px,24vw,360px);height:auto;pointer-events:none;opacity:.95}
@media(max-width:1000px){.hero-dessin{left:71%;width:clamp(120px,20vw,200px);top:40%}}
@media(max-width:700px){
  .hero-dessin{display:none}
  .hero-banner{padding:7rem 1.2rem 3rem;min-height:0;background-size:auto 260px;background-position:left bottom}
  .hero-banner-texte{width:100%;margin:0;background:rgba(246,239,228,.86);padding:1.8rem 1.2rem;border-radius:16px}
}
.porte.maison .badge-constr{align-self:center;background:#fff;color:#4e6b4f;border-radius:999px;padding:.28rem .9rem;font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.9rem;font-weight:500}
#appli{scroll-margin-top:110px;text-align:left}
.apps .demande .d-field label,.apps .demande .consent{text-align:left}
