.contact-form-panel{position:relative;margin-top:28px;padding:24px;border:1px solid #ffffff30;border-radius:14px;background:#ffffff08;max-width:900px}
.contact-form-panel h3{margin:0 0 9px;font-size:28px;letter-spacing:-.5px;color:white}
.contact-form-panel>p{color:#d2dfff;font-size:15px;margin:0 0 27px;line-height:1.6}
.contact-form-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-field{display:flex;flex-direction:column;gap:9px;margin-bottom:22px;min-width:0}
.contact-field label{font-size:15px;font-weight:600;color:white}
.contact-field input,.contact-field textarea{box-sizing:border-box;width:100%;border:1px solid #cad7e8;border-radius:7px;padding:13px 15px;background:#fff;color:#17243b;font:16px/1.5 'Segoe UI',Arial,sans-serif}
.contact-field textarea{resize:vertical;min-height:150px}
.contact-field input:focus-visible,.contact-field textarea:focus-visible{outline:3px solid #9bc5ff;outline-offset:3px;border-color:#173b68}
.contact-form-actions{display:flex;flex-wrap:wrap;gap:13px;align-items:center}
.contact-form-actions .button{margin:0;cursor:pointer;font:600 15px/1.3 'Segoe UI',Arial,sans-serif}
.contact-form-actions .button:disabled{opacity:.65;cursor:wait}
.contact-form-actions .button:focus-visible{outline:3px solid #9bc5ff;outline-offset:4px}
.contact-form-note,.contact-privacy{color:#d2dfff;font-size:13px;line-height:1.6}
.contact-privacy{margin:17px 0 0}
.contact-form-status{margin:18px 0 0;font-size:15px;line-height:1.6;overflow-wrap:anywhere}
.contact-form-status:empty{display:none}
.contact-form-status[data-state="success"]{padding:12px 15px;border:1px solid #86d2ac;border-radius:7px;background:#092f24;color:#deffee}
.contact-form-status[data-state="error"]{padding:12px 15px;border:1px solid #eeb2b2;border-radius:7px;background:#4a1d2b;color:#ffe6e6}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.contact-form-panel{padding:24px 19px;margin-top:28px}.contact-form-row{grid-template-columns:1fr;gap:0}.contact-form-panel h3{font-size:25px}.contact-form-actions{align-items:flex-start;flex-direction:column;gap:12px}.contact-form-actions .button{width:100%;justify-content:center}.contact-field textarea{min-height:170px}}

/* Adresse et carte de l’emplacement fourni, dans la colonne de droite. */
.contact-details{grid-template-columns:1fr;gap:28px;}
.contact-details .contact-location{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:start;min-width:0;}
.contact-address{min-width:0;}
.contact-address .contact-map-link{display:inline-flex;align-items:center;gap:8px;color:#fff;font-size:14px;margin-top:15px;text-decoration:underline;text-underline-offset:4px;line-height:1.5;}
.contact-map-link b{position:static;font-size:18px;font-weight:400;}
.contact-map{overflow:hidden;border-radius:10px;border:1px solid #ffffff30;background:#e5ebf2;min-width:0;}
.contact-map iframe{display:block;width:100%;height:260px;}
@media(max-width:1000px){.contact-details .contact-location{grid-template-columns:1fr;gap:18px;}}
@media(max-width:600px){.contact-map iframe{height:280px;}.contact-details{gap:25px;}.contact-address .contact-map-link{font-size:15px;}}

/* Formulaire et carte au même niveau, sous la présentation et les coordonnées. */
.contact-bottom{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:stretch;margin-top:34px;}
.contact-bottom .contact-form-panel{margin:0;max-width:none;min-width:0;}
.contact-bottom .contact-map{position:relative;min-height:430px;height:100%;}
.contact-bottom .contact-map iframe{position:absolute;inset:0;width:100%;height:100%;}
.contact-details .contact-location{display:block;}
@media(max-width:900px){.contact-bottom{gap:30px;}}
@media(max-width:700px){.contact-bottom{grid-template-columns:1fr;gap:26px;margin-top:30px;}.contact-bottom .contact-map{min-height:300px;}}

.contact-details .phone-link{display:flex;align-items:center;gap:10px;line-height:1.9;}
.phone-icon{width:20px;height:24px;flex-shrink:0;}
.contact-details .phone-number{margin:0;letter-spacing:0;color:inherit;font-size:inherit;line-height:inherit;}

.contact-details .socials a{display:inline-flex;align-items:center;gap:8px;}
.social-icon{display:block;width:20px;height:20px;flex-shrink:0;}
.contact-details .social-name{margin:0;letter-spacing:0;font-size:inherit;line-height:inherit;color:inherit;}
.contact-details .socials{flex-wrap:wrap;}
