/* Page contact (repris de prototypes/contact.html) */
html{overflow-x:clip;scrollbar-color:var(--orange) var(--nuit);-webkit-text-size-adjust:100%}
.tete{position:relative;overflow:hidden;padding:clamp(7rem,16vh,10rem) clamp(1rem,4vw,3.6rem) clamp(4.5rem,9vw,7rem)}
.tete img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.3) saturate(.55)}
.tete::after{content:"";position:absolute;inset:0;background:linear-gradient(#150a0500 30%,#150a05 100%)}
.tete>div{position:relative;z-index:2;max-width:1100px;margin-inline:auto}
.tete h1{font:900 clamp(4rem,13vw,11rem)/.84 var(--gothique);color:var(--orange-2)}
.tete p{max-width:50ch;margin-top:1rem;font-size:1.08em}
.bureau{background:var(--orange);color:var(--nuit);padding:clamp(3rem,7vw,5.6rem) clamp(1rem,4vw,3.6rem) clamp(3.4rem,7vw,6rem)}
.bureau>div{max-width:1100px;margin-inline:auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
form{display:grid;gap:1.1rem}
.choix{border:0;padding:0;display:grid;gap:.6rem}
.choix legend{font:900 clamp(1.8rem,3vw,2.6rem)/1 var(--titre);text-transform:uppercase;margin-bottom:.6rem}
.choix label{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.2rem .8rem;align-items:start;padding:.85rem 1rem;background:var(--os);border-radius:6px;cursor:pointer;box-shadow:inset 0 0 0 2px transparent;transition:box-shadow .15s,background .15s}@media (hover:hover) and (pointer:fine){.choix label:hover{background:#fff1cf}}
.choix input{margin-top:.3rem;accent-color:var(--sang);width:1.1rem;height:1.1rem}
.choix b{font:900 1.45rem/1.05 var(--titre);text-transform:uppercase}
.choix small{grid-column:2;font-size:.9rem;line-height:1.35}
.choix label:has(input:checked){box-shadow:inset 0 0 0 3px var(--nuit);background:#fff1cf}
.champ{display:grid;gap:.3rem}
.champ label{font-weight:700}
.champ input,.champ textarea{width:100%;border:0;border-radius:6px;background:var(--os);color:var(--nuit);padding:.75rem .9rem;font:inherit}
.champ textarea{min-height:11rem;resize:vertical}
.champ input:focus,.champ textarea:focus{outline:3px solid var(--nuit);outline-offset:0}
.deux{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.1rem}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.envoi{justify-self:start;border:0;cursor:pointer;background:var(--nuit);color:var(--os);font:700 1.05rem/1 "Schibsted Grotesk",sans-serif;padding:.95em 1.6em;border-radius:999px;transition:transform .18s cubic-bezier(.2,.8,.3,1),background .18s}@media (hover:hover) and (pointer:fine){.envoi:hover{background:var(--sang);transform:translateY(-2px)}}
.envoi:active{transform:translateY(1px) scale(.98)}
.mention{font-size:.85rem;max-width:56ch}
.merci{background:var(--nuit);color:var(--os);border-radius:6px;padding:1.6rem}
.merci h2{font:900 clamp(2.2rem,4vw,3.2rem)/1 var(--gothique);color:var(--orange-2);margin-bottom:.4rem}
.infos h2{font:900 clamp(1.8rem,3vw,2.6rem)/1 var(--titre);text-transform:uppercase;margin-bottom:.5rem}
.infos section+section{margin-top:1.8rem}
.infos table{border-collapse:collapse;font-variant-numeric:tabular-nums}.infos td{padding:.06rem 1rem .06rem 0}
.infos p{margin-bottom:.8rem}
.infos .btn.wa{background:#25d366;color:#0b2e17;box-shadow:inset 0 0 0 2px var(--nuit)}@media (hover:hover) and (pointer:fine){.infos .btn.wa:hover{background:#4be082}}
.infos .btn2{display:inline-block;padding:.66em 1.2em;border-radius:999px;box-shadow:inset 0 0 0 2px currentColor;font-weight:700;text-decoration:none;transition:transform .18s cubic-bezier(.2,.8,.3,1),background .18s,color .18s}@media (hover:hover) and (pointer:fine){.infos .btn2:hover{background:var(--nuit);color:var(--os);box-shadow:none;transform:translateY(-2px)}}
footer{background:var(--nuit);color:var(--os);padding:clamp(2.6rem,5vw,4.2rem) clamp(1rem,4vw,3.6rem);display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.8rem}
footer h3{font:900 1.9rem/1 var(--titre);text-transform:uppercase;margin-bottom:.4rem;color:var(--orange-2)}
@media (max-width:820px){.barre nav{display:none}.bureau>div{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* Erreur du formulaire : bien distincte de la confirmation */
.erreur{margin-bottom:1rem;padding:1rem 1.2rem;border-radius:6px;background:var(--sang);color:#fff1cf;font-weight:700}
