/* Contact */

.cg{display:grid;grid-template-columns:1fr 1.05fr;gap:30px;margin-top:24px;align-items:start}
.coord{display:grid;gap:14px}
.ci{background:var(--surface);border:1px solid var(--trait);border-radius:24px;padding:22px;
 box-shadow:var(--ombre);display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:start}
.ci .ic{width:44px;height:44px;border-radius:15px;display:grid;place-items:center;color:#fff}
.ci:nth-child(1) .ic{background:linear-gradient(135deg,var(--k-1),var(--k-2))}
.ci:nth-child(2) .ic{background:linear-gradient(135deg,var(--g-1),var(--g-2))}
.ci:nth-child(3) .ic{background:linear-gradient(135deg,var(--s-1),var(--s-2))}
.ci h3{font-size:16px;font-weight:500;margin-bottom:4px}
.ci p{margin:0;color:var(--texte-2);font-size:15px}
.ci a{color:var(--texte);border-bottom:1px solid var(--trait)}
.ci a:hover{color:var(--g-2);border-color:var(--g-2)}
.plan{margin-top:16px;border-radius:24px;overflow:hidden;border:1px solid var(--trait);position:relative;height:230px;
 background:linear-gradient(0deg,color-mix(in srgb,var(--anneau) 10%,transparent),color-mix(in srgb,var(--anneau) 10%,transparent)),
 repeating-linear-gradient(0deg,transparent 0 33px,var(--voile) 33px 34px),
 repeating-linear-gradient(90deg,transparent 0 33px,var(--voile) 33px 34px),var(--surface)}
.route{position:absolute;background:var(--trait)}
.epingle{position:absolute;left:50%;top:50%;transform:translate(-50%,-100%);display:flex;flex-direction:column;
 align-items:center;gap:6px;color:var(--k-1)}
.epingle span{font-family:var(--f-titre);font-weight:500;font-size:12px;color:var(--texte);background:var(--fond);
 border:1px solid var(--trait);border-radius:99px;padding:4px 12px;white-space:nowrap}
.plan .leg{position:absolute;left:14px;bottom:12px;font-size:11.5px;color:var(--texte-3);font-family:var(--f-titre)}
.hor{margin-top:16px}.hor table{width:100%;border-collapse:collapse;font-size:15px}
.hor td{padding:9px 0;border-bottom:1px solid var(--trait)}
.hor td:last-child{text-align:right;color:var(--texte-2);font-variant-numeric:tabular-nums}
.hor tr:last-child td{border-bottom:0}
.a-completer{color:var(--att-tx)}
.form{display:grid;gap:13px}.ligne2{display:grid;grid-template-columns:1fr 1fr;gap:13px}
.champ{display:flex;flex-direction:column;gap:6px}
.champ label{font-size:12.5px;color:var(--texte-3);font-family:var(--f-titre)}
.champ input,.champ select,.champ textarea{background:var(--voile);border:1px solid var(--trait);
 border-radius:14px;padding:11px 14px;color:var(--texte);font-size:15px}
.champ textarea{resize:vertical;min-height:120px}
.retrait{display:inline-flex;align-items:center;gap:9px;margin-top:6px;font-family:var(--f-titre);font-weight:500;
 font-size:13px;background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-tx);border-radius:99px;padding:6px 14px}
.pastille{width:7px;height:7px;border-radius:50%;background:currentColor}
@media(max-width:880px){.cg{grid-template-columns:1fr}}
.hor tr.aujourdhui td{color:var(--texte);font-weight:500}
.hor tr.aujourdhui small{font-weight:400;color:var(--g-2)}
/* v1.0.1 — mobile : pas de débordement horizontal */
.cg,.devis{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.cg>*,.devis>*,.ligne2>*{min-width:0}
.champ input,.champ select,.champ textarea{width:100%;min-width:0}
@media(max-width:880px){.cg,.devis{grid-template-columns:minmax(0,1fr)}}
@media(max-width:560px){.ligne2{grid-template-columns:minmax(0,1fr)}}
.ci .ic--wa{background:#1FA855!important}
.coord .ci:nth-child(4) .ic{background:#1FA855}
/* v1.1.1 — devis / visite sur place d'office */
.choix-rdv{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 14px}
.choix-rdv .bouton svg{flex:none}
.segments{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;padding:4px;border-radius:16px;
 background:var(--voile);border:1px solid var(--trait)}
.segments label{position:relative;cursor:pointer}
.segments input{position:absolute;opacity:0;pointer-events:none}
.segments span{display:flex;align-items:center;justify-content:center;text-align:center;min-height:40px;padding:6px 8px;
 border-radius:12px;font-family:var(--f-titre);font-weight:500;font-size:13.5px;line-height:1.2;color:var(--texte-2);transition:.15s}
.segments input:checked+span{background:var(--surface);color:var(--texte);box-shadow:var(--ombre)}
.segments input:focus-visible+span{outline:2px solid var(--g-2);outline-offset:1px}
.form .si-visite,.form .si-autre{display:none}
.form[data-demande="visite"] .si-visite{display:grid}
.form[data-demande="autre"] .si-autre{display:flex}
@media(max-width:560px){.choix-rdv .bouton{flex:1 1 100%}.segments span{font-size:12.5px;padding:6px 4px}}
