/* Réglages propres à la version française. Chargé après /css/styles.css : la version anglaise n'est pas touchée. */

/* Pied de page compact : 4 colonnes sur une seule ligne, moins d'espace autour. */
footer{padding:2.2rem 0 1.3rem;font-size:.88rem}
.foot{grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:1.4rem 2rem}
.foot h3{margin-bottom:.5rem}
.foot a{padding:.12rem 0}
.foot__brand{margin-bottom:.6rem}
.foot__creds{margin-top:.5rem}
.foot__legal{margin-top:1.4rem;padding-top:1rem}
@media(max-width:900px){.foot{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot{grid-template-columns:1fr}}

/* Formulaire de message. Les champs reprennent le style du devis rapide de la version anglaise (styles.css). */
.fr-form textarea{font-family:var(--sans);font-weight:400;font-size:.98rem;letter-spacing:0;text-transform:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:4px;padding:.72rem .8rem;width:100%;min-height:130px;resize:vertical}
.fr-form textarea:focus-visible{outline:2px solid var(--gold-ink);outline-offset:1px}
.fr-form .fr-full{grid-column:1/-1}
.fr-form label.fr-consent{flex-direction:row;align-items:flex-start;gap:.6rem;font-family:var(--sans);font-weight:400;font-size:.85rem;letter-spacing:0;text-transform:none;color:var(--muted)}
.fr-form label.fr-consent input{width:auto;flex:0 0 auto;margin-top:.22rem;cursor:pointer}
.fr-form label.fr-consent a{color:var(--gold-ink);text-decoration:underline;text-underline-offset:2px}
.fr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fr-status{grid-column:1/-1;text-align:center;font-weight:600;min-height:1.4em;margin:0}
.fr-status.ok{color:#1f6b3a}
.fr-status.err{color:#a3271f}
.fr-form button[disabled]{opacity:.6;cursor:wait}

/* Sous-parties (H3) du bloc usine. */
.fr-h3{font-family:var(--head);font-weight:600;font-size:clamp(1.15rem,2.2vw,1.55rem);line-height:1.2;margin:0 0 .7rem;color:var(--cream)}
.fr-sub{margin-top:3rem}

/* Pleine largeur du conteneur central : le conteneur (.wrap) garde sa largeur et reste centré ; à l'intérieur, chaque bloc occupe toute sa largeur. */
.hero h1,.hero__sub,.hero__trust,.sec-head,.faq,.qquote,.qquote__head,.qa__a p,.final h2,.final p,.subhero p{max-width:none}
[style*="max-width"]{max-width:none!important}

/* Formulaire : 3 colonnes alignées (neuf champs = trois rangées complètes). */
@media(min-width:640px) and (max-width:959px){.fr-form{grid-template-columns:repeat(3,1fr)}}
@media(min-width:960px){.fr-form{grid-template-columns:repeat(5,1fr)}}

/* Formulaire condensé : étiquettes dans les cases (elles se réduisent en haut de la case dès qu'un champ est rempli ou actif). */
#quick-quote{padding-block:clamp(1.6rem,3.2vw,2.4rem)}
.fr-form.qquote__form{gap:.45rem .6rem;align-items:stretch}
.qquote{padding:clamp(1rem,2.2vw,1.4rem)}
.qquote__head{margin-bottom:.8rem}
.qquote__head h2{margin-top:.2rem;font-size:clamp(1.35rem,2.6vw,1.9rem)}
.qquote__head p{margin-top:.3rem;font-size:.92rem}
.qquote__band{margin-top:.5rem;padding:.4rem .7rem;font-size:.8rem;line-height:1.4}
.fr-form label.fl{position:relative;display:block;font:inherit;letter-spacing:0;text-transform:none;color:inherit}
.fr-form label.fl>select,.fr-form label.fl>input{height:40px;padding:.85rem .7rem .18rem;cursor:pointer;font-size:.92rem}
.fr-form label.fl>input{cursor:text}
.fr-form label.fl>textarea{min-height:70px;padding:1.2rem .7rem .3rem;margin:0;font-size:.92rem}
.fr-form label.fl>span{position:absolute;left:.75rem;top:20px;transform:translateY(-50%);max-width:calc(100% - 2.2rem);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--sans);font-weight:400;font-size:.88rem;letter-spacing:0;text-transform:none;color:var(--muted);pointer-events:none;transition:top .15s,font-size .15s,color .15s}
.fr-form label.fl--area>span{top:1.15rem}
.fr-form label.fl.has>span,.fr-form label.fl:focus-within>span{top:.4rem;transform:none;font-family:var(--head);font-weight:500;font-size:.6rem;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-ink)}
.fr-form label.fl--area.has>span,.fr-form label.fl--area:focus-within>span{top:.35rem}
.fr-form label.fr-consent{font-size:.76rem;line-height:1.3}
.fr-form .qquote__cta{margin-top:.1rem;padding:.62rem 1.25rem;font-size:.86rem}
.fr-status{min-height:1.1em}

/* Choix de la langue : drapeaux anglais et français en haut à droite. */
.fr-lang{display:flex;align-items:center;gap:.45rem}
.fr-lang__b{display:inline-flex;line-height:0;padding:2px;border:1px solid var(--line-dark);border-radius:3px;opacity:.6;transition:.2s}
.fr-lang__b svg{width:28px;height:19px;border-radius:2px;display:block}
.fr-lang__b:hover,.fr-lang__b.is-on{opacity:1;border-color:var(--gold)}

/* Menu : libellés français plus longs, sur une seule ligne. */
.nav__links a{white-space:nowrap}
.nav__links{gap:1.3rem}
.nav__right{gap:.9rem}

/* Menu adaptatif : entre 901 et 1100 px les libellés français se resserrent ; sur tablette et téléphone les drapeaux se rangent à côté du bouton menu. */
@media(max-width:1100px){.nav__links{gap:.85rem}.nav__links a{font-size:.8rem;letter-spacing:.03em}.nav__right{gap:.6rem}.nav__cta{padding:.7rem 1rem}}
@media(max-width:900px){.nav__right{margin-left:auto;margin-right:.6rem}}

/* Pied de page : couleur nettement distincte du bloc final (filet doré + fond charbon chaud), et icônes SVG. */
footer{background:#28241f;border-top:3px solid var(--gold);color:rgba(247,244,237,.78)}
.foot a.fi,.foot p.fi{display:flex;align-items:flex-start;gap:.6rem;margin:0}
.foot p.fi{padding:.12rem 0;font-size:.85rem;line-height:1.45;color:rgba(247,244,237,.72)}
.fi__i{flex:0 0 auto;width:18px;height:18px;margin-top:.22rem;color:var(--gold)}
.fi__i--sm{width:14px;height:14px;margin-top:.3rem;opacity:.75}
.foot a.fi:hover .fi__i{color:#fff;opacity:1}
.foot__creds{margin-top:.8rem}
.foot__creds .fi{font-size:.8rem}
.foot__legal .fi--inline{display:inline-flex;align-items:center;gap:.5rem}
.foot__legal .fi--inline .fi__i{margin-top:0;width:16px;height:16px}

/* Pièce jointe : dixième case du formulaire, à droite de Téléphone, même gabarit que les autres champs. */
.fr-file{position:relative;height:40px}
.fr-file__btn{width:100%;height:100%;display:flex;align-items:center;gap:.45rem;padding:0 1.6rem 0 .7rem;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--muted);font:inherit;font-size:.86rem;cursor:pointer;transition:.2s;text-align:left;overflow:hidden}
.fr-file__btn:hover{border-color:var(--gold);color:var(--gold-deep)}
.fr-file__btn.has{border-color:var(--gold);color:var(--ink)}
.fr-file__ico{width:15px;height:15px;flex:0 0 auto}
.fr-file__btn span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fr-file__clear{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.9rem;line-height:1;cursor:pointer;flex:0 0 auto}
.fr-file__clear:hover{border-color:var(--gold);color:var(--gold-deep)}
.fr-file__err{margin:-.1rem 0 0;font-size:.82rem;font-weight:600;color:#a3271f}

/* Liens désactivés : pages pas encore construites (22 septembre 2026). Restent visibles, avec leur
   texte et leur icône, mais ne sont plus cliquables ni focalisables (pas de href). */
.fr-soon{cursor:default;pointer-events:none}
a.fr-soon{opacity:.5}
.pcard.fr-soon{opacity:.65}
.pcard.fr-soon:hover{transform:none;box-shadow:none;border-color:var(--line)}
.fi.fr-soon{opacity:.4}
.btn.fr-soon{opacity:.45}
