/* Page « Contact » (maquette de Thierry Blain, 30/10/2026). */
.kfs-contact .ct-grille{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:40px;align-items:start}
.kfs-contact .ct-carte{background:#FFFFFF;border-radius:14px;padding:32px;box-shadow:0 1px 2px rgba(26,58,107,.06),0 10px 28px rgba(26,58,107,.08);display:flex;flex-direction:column;gap:6px}
.kfs-contact .ct-carte h2{margin:0;font-size:28px;color:#1A3A6B}
.kfs-contact .ct-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.kfs-contact .ct-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:#4A4A4A}
.kfs-contact .ct-form input,.kfs-contact .ct-form textarea,.kfs-contact .ct-form select{font:inherit;font-size:16px;font-weight:400;padding:10px 12px;min-height:46px;border:1px solid #B9C4D6;border-radius:6px;box-sizing:border-box;width:100%;background:#FFFFFF;color:#1A1A1A}
.kfs-contact .ct-form input:focus,.kfs-contact .ct-form textarea:focus,.kfs-contact .ct-form select:focus{outline:2px solid #1A3A6B;outline-offset:1px}
.kfs-contact .ct-form .plein{grid-column:1/-1}
.kfs-contact .ct-form .opt{font-weight:400;color:#6B6B6B}
.kfs-contact .ct-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.kfs-contact .ct-btn{justify-self:start;font:inherit;font-size:16px;font-weight:700;background:#FC7A03;color:#1A1A1A;border:0;border-radius:6px;min-height:48px;padding:12px 28px;cursor:pointer}
.kfs-contact .ct-btn:hover,.kfs-contact .ct-btn:focus-visible{background:#E86E00;color:#1A1A1A}
.kfs-contact .ct-msg{margin:12px 0 0;padding:14px 18px;border-radius:8px;font-weight:600}
.kfs-contact .ct-msg--ok{background:#E8F5EC;color:#1E6B3A}
.kfs-contact .ct-msg--err{background:#FDECEC;color:#9B1C1C}
.kfs-contact .ct-mention{margin:0;font-size:13px;line-height:1.6;color:#6B6B6B}
.kfs-contact .ct-mention a{color:#1A3A6B}
.kfs-contact .ct-infos{display:flex;flex-direction:column;gap:16px}
.kfs-contact .ct-info{display:flex;gap:16px;align-items:flex-start;background:#FFFFFF;border:1px solid #DDE3EE;border-radius:12px;padding:20px 22px}
.kfs-contact .ct-ico{flex:0 0 44px;height:44px;border-radius:50%;background:#EEF2F9;color:#1A3A6B;display:flex;align-items:center;justify-content:center}
.kfs-contact .ct-info h3{margin:0 0 4px;font-size:15px;letter-spacing:.06em;text-transform:uppercase;color:#B35406}
.kfs-contact .ct-info p{margin:0;font-size:16px;line-height:1.6;color:#1A1A1A}
.kfs-contact .ct-info p + p{margin-top:6px}
.kfs-contact .ct-info a{color:#1A3A6B;font-weight:700}
.kfs-contact .ct-grand{font-size:22px !important;font-weight:700}
.kfs-contact .ct-raccourcis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.kfs-contact .ct-raccourcis a{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:#FFFFFF;border:1px solid #DDE3EE;border-radius:12px;padding:20px;color:#1A1A1A;min-height:44px}
.kfs-contact .ct-raccourcis a:hover{border-color:#E8700A}
.kfs-contact .ct-raccourcis strong{color:#1A3A6B;font-size:17px}
.kfs-contact .ct-raccourcis span{font-size:14px;color:#4A4A4A;line-height:1.5}
@media (max-width: 960px){.kfs-contact .ct-grille{grid-template-columns:minmax(0,1fr)}.kfs-contact .ct-raccourcis{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 560px){.kfs-contact .ct-form,.kfs-contact .ct-raccourcis{grid-template-columns:minmax(0,1fr)}.kfs-contact .ct-carte{padding:22px}}
