/*
 * Page contact (Contact/index.html.twig), design épuré du 20/10/2026, comme les pages de contenu et les communiqués :
 * formulaire à libellés visibles et champs arrondis, messages dans la page, coordonnées et plan à droite.
 */
.contact-epure{
	--ct-rouge:#e40520;
	--ct-encre:#1d1d1b;
	--ct-gris:#6b6b6b;
	--ct-gris-doux:#8f8f8f;
	--ct-filet:#ebe6e4;
	--ct-bord:#dcd5d3;
	--ct-fond:#f6f3f2;
}
.contact-epure .champ-piege{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

.ct-grille{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:80px;align-items:start;padding:6px 0 100px}
.ct-principal{min-width:0;max-width:760px}

/* En-tête */
.ct-tete{margin-bottom:34px}
.ct-surtitre{margin:0;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ct-rouge)}
.content.contact-epure h1.ct-titre{margin:12px 0 0;padding:0;background:none;font-size:40px;line-height:1.15;font-weight:600;letter-spacing:-.015em;text-transform:none;color:var(--ct-encre)}
.ct-intro{margin:16px 0 0;max-width:620px;font-size:18px;line-height:1.6;color:#4a4a4a}

/* Messages (envoi réussi, envoi refusé) */
.ct-alerte{display:flex;align-items:flex-start;gap:14px;margin:0 0 30px;padding:18px 20px;border:1px solid;border-radius:8px}
.ct-alerte svg{flex:none;width:24px;height:24px}
.ct-alerte p{margin:0;font-size:15px;line-height:1.55;color:#323232}
.ct-alerte .ct-alerte-titre{margin-bottom:2px;font-weight:600}
.ct-succes{border-color:#cfe9d8;background:#f1faf4;color:#1d7a45}
.ct-succes .ct-alerte-titre{color:#1d7a45}
.ct-erreur{border-color:#f6c9cf;background:#fdf1f2;color:var(--ct-rouge)}
.ct-erreur .ct-alerte-titre{color:var(--ct-rouge)}

/* Champs */
.ct-champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px}
.ct-champ{display:flex;flex-direction:column;gap:8px;min-width:0}
.ct-champ.ct-large{grid-column:1 / -1}
.ct-champ label{font-size:14px;line-height:1.3;font-weight:600;color:var(--ct-encre)}
.ct-requis{color:var(--ct-rouge)}
.contact-epure .ct-champ input,.contact-epure .ct-champ select,.contact-epure .ct-champ textarea{display:block;width:100%;height:50px;margin:0;padding:0 16px;border:1px solid var(--ct-bord);border-radius:8px;background:#fff;box-shadow:none;font:400 16px/1.4 'Poppins',Arial,sans-serif;color:var(--ct-encre);transition:border-color .2s,box-shadow .2s}
.contact-epure .ct-champ textarea{height:auto;min-height:180px;padding:14px 16px;line-height:1.6;resize:vertical}
.contact-epure .ct-champ select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:46px;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231d1d1b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/18px 18px}
.contact-epure .ct-champ :is(input,select,textarea):hover{border-color:#b9b0ad}
.contact-epure .ct-champ :is(input,select,textarea):focus{outline:none;border-color:var(--ct-encre);box-shadow:0 0 0 3px rgba(228,5,32,.14)}
.contact-epure .ct-en-erreur :is(input,select,textarea){border-color:var(--ct-rouge)}
.ct-message-erreur ul{margin:0;padding:0;list-style:none}
.ct-message-erreur li{margin:0;padding:0;background:none;font-size:13px;line-height:1.45;color:var(--ct-rouge)}
.ct-message-erreur li:before{display:none}

/* Envoi et données personnelles */
.ct-envoi{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:30px}
.contact-epure .ct-bouton{display:inline-flex;align-items:center;gap:12px;height:auto;margin:0;padding:15px 28px;border:0;border-radius:28px;background:var(--ct-rouge);color:#fff;font:600 15px/1.2 'Poppins',Arial,sans-serif;letter-spacing:0;text-transform:none;cursor:pointer;transition:background-color .2s,gap .2s}
.contact-epure .ct-bouton:after{content:"";width:16px;height:2px;background:currentColor}
.contact-epure .ct-bouton:hover{background:#c10019;gap:16px}
.contact-epure .ct-bouton:focus-visible{outline:2px solid var(--ct-encre);outline-offset:3px}
.ct-obligatoires{margin:0;font-size:13px;color:var(--ct-gris-doux)}
.ct-donnees{margin:30px 0 0;padding-top:22px;border-top:1px solid var(--ct-filet);font-size:12.5px;line-height:1.65;color:var(--ct-gris)}
.content.contact-epure .ct-donnees a{color:var(--ct-gris);text-decoration:underline;text-underline-offset:2px}
.content.contact-epure .ct-donnees a:hover{color:var(--ct-encre)}

/* Colonne de droite : siège et contacts directs */
.ct-cote{display:flex;flex-direction:column;gap:32px}
.ct-cote-titre{margin:0 0 12px;font-size:12px;line-height:1.4;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ct-gris-doux)}
.ct-siege{overflow:hidden;border:1px solid var(--ct-filet);border-radius:8px;background:#fff}
.ct-siege img{display:block;width:100%;height:auto}
.ct-siege-texte{padding:22px 24px 24px}
.ct-siege address{font-style:normal;font-size:15px;line-height:1.6;color:#323232}
.ct-siege address strong{font-weight:600;color:var(--ct-encre)}
.content.contact-epure .ct-itineraire{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:14px;font-weight:600;color:var(--ct-encre);transition:gap .2s,color .2s}
.ct-itineraire:after{content:"";width:16px;height:2px;background:currentColor}
.content.contact-epure .ct-itineraire:hover{gap:12px;color:var(--ct-rouge)}
.ct-services ul{margin:0;padding:0;list-style:none;border-top:1px solid var(--ct-filet)}
.ct-services li{display:flex;flex-direction:column;gap:2px;margin:0;padding:14px 0;border-bottom:1px solid var(--ct-filet);background:none}
.ct-services li:before{display:none}
.ct-service-nom{margin-bottom:2px;font-size:15px;line-height:1.4;font-weight:600;color:var(--ct-encre)}
.content.contact-epure .ct-services a{font-size:14px;line-height:1.5;color:var(--ct-gris);overflow-wrap:anywhere;transition:color .2s}
.content.contact-epure .ct-services a:hover{color:var(--ct-rouge)}
.contact-epure .ct-cote a:focus-visible,.contact-epure .ct-donnees a:focus-visible{outline:2px solid var(--ct-rouge);outline-offset:2px}

/* Tablette : coordonnées sous le formulaire, sur deux colonnes */
@media only screen and (max-width: 1024px){
	.ct-grille{grid-template-columns:minmax(0,1fr);gap:56px;width:92%;margin:0 auto;padding:8px 0 72px}
	.ct-principal{max-width:none}
	.ct-cote{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;align-items:start}
}
@media only screen and (max-width: 640px){
	.content.contact-epure h1.ct-titre{font-size:30px;line-height:1.2}
	.ct-intro{font-size:16px}
	.ct-champs{grid-template-columns:minmax(0,1fr);gap:18px}
	.ct-cote{grid-template-columns:minmax(0,1fr)}
	.contact-epure .ct-bouton{width:100%;justify-content:center}
}
@media (prefers-reduced-motion: reduce){
	.contact-epure .ct-champ :is(input,select,textarea),.contact-epure .ct-bouton,.ct-itineraire,.ct-services a{transition:none}
}

/* Dispositif d'alerte (Juridique, 23/10/2026) : mention sous le choix du service quand « Déontologue » est choisi, et
   lien sous l'adresse du Déontologue dans les contacts directs */
.ct-alerte-note{grid-column:1 / -1;margin:-10px 0 0;padding:12px 16px;border-left:3px solid var(--ct-rouge);background:#fdf6f6;font-size:14px;line-height:1.55;color:var(--ct-gris)}
.ct-alerte-note[hidden]{display:none}
.content.contact-epure .ct-alerte-note a{color:var(--ct-rouge);text-decoration:underline;text-underline-offset:3px}
.content.contact-epure .ct-services a.ct-service-lien{color:var(--ct-rouge);text-decoration:underline;text-underline-offset:3px}
