/* Page /contact — mise en page formulaire + coordonnées (jetons de site.css uniquement). */

.contact-art{max-width:280px;align-self:center}

.contact-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--s-5);row-gap:var(--s-8);align-items:start}
.contact-main{grid-column:1 / span 7;display:grid;gap:var(--s-5);min-width:0}
.contact-aside{grid-column:9 / -1;position:sticky;top:calc(var(--head-h) + 32px);min-width:0}

.contact-form-head{display:grid;gap:var(--s-2);padding-bottom:var(--s-4);border-bottom:1px solid var(--sumi)}
.req-mark{color:var(--shu-ink)}
.contact-quick{display:none;font-size:.9688rem;color:var(--sumi-2)}
.contact-form{max-width:none;gap:var(--s-6)}
.contact-form .fieldset > legend{margin-bottom:var(--s-3)}
.contact-rgpd{padding-top:var(--s-4);border-top:1px solid var(--rule)}

/* Résumé des erreurs */
.form-summary{padding:var(--s-4) var(--s-5);border:1px solid var(--shu-ink);border-left:3px solid var(--shu);background:color-mix(in srgb,var(--washi) 92%,var(--shu) 4%);color:var(--sumi)}
.form-summary:focus{outline:2px solid var(--shu);outline-offset:3px}
.form-summary-t{font-weight:600}
.form-summary ul{margin-top:var(--s-2);display:grid;gap:4px}
.form-summary a{color:var(--shu-ink);text-decoration:underline;text-underline-offset:3px;font-size:.9375rem}

/* Message préparé (repli) */
.form-done > * + *{margin-top:var(--s-3)}
.form-copy-text{min-height:0;font-size:.875rem;background:var(--washi)}
.form-copy-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}

/* Coordonnées */
.contact-aside > h2{padding-bottom:var(--s-4);border-bottom:1px solid var(--sumi)}
.coords > div{padding-block:var(--s-5);border-bottom:1px solid var(--rule)}
.coords dt{font:600 var(--fs-xs)/1.4 var(--f-text);letter-spacing:.16em;text-transform:uppercase;color:var(--sumi-3);margin-bottom:var(--s-2)}
.coords dd{color:var(--sumi-2);font-size:.9688rem;line-height:1.6;display:grid;gap:var(--s-2);justify-items:start}
.coords address{font-style:normal;color:var(--sumi)}
.coords-big{font:500 clamp(1.3rem,1.15rem + .5vw,1.6rem)/1.2 var(--f-display);color:var(--sumi);text-decoration:none;border-bottom:1px solid var(--rule-strong);overflow-wrap:anywhere;transition:border-color .2s}
.coords-big:hover{border-color:var(--shu)}
.coords-links{display:flex;flex-wrap:wrap;gap:var(--s-2) var(--s-5);margin-top:var(--s-2)}
.coords .btn-tel svg{width:18px;height:18px}

@media (max-width:960px){
  .contact-main,.contact-aside{grid-column:1 / -1}
  .contact-aside{position:static}
  .contact-quick{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px .5em}
}
@media (max-width:900px){
  .contact-art{display:none}
}
@media (max-width:640px){
  .contact-quick-sep{display:none}
  .contact-quick{column-gap:.6em}
  .contact-form .choice-pill{flex:1 1 auto;justify-content:center}
}
