/* Formulaire de contact : reprise du bleu et orange TPI */
.tpi-contact-dialog-web{box-sizing:border-box;position:fixed;inset:0;margin:auto;padding:0;width:min(630px,calc(100vw - 32px));max-width:630px;max-height:90dvh;overflow:auto;border:1px solid #dce8f0;border-radius:18px;background:#fff;color:#17354d;box-shadow:0 18px 60px #0d253f5e;z-index:10001}
.tpi-contact-dialog-web::backdrop{background:#122a48a3}.tpi-contact-shell{padding:24px}.tpi-contact-heading{display:flex;justify-content:space-between;gap:12px;margin-bottom:18px}.tpi-contact-heading h2{font-size:23px;line-height:1.25;color:#103e63;margin:6px 0}.tpi-contact-heading p{font-size:13px;line-height:1.5;margin:6px 0;color:#577088}.tpi-contact-heading .eyebrow{color:#e77716;font-weight:900;letter-spacing:.07em}.tpi-contact-x{border:1px solid #d2e1ee;background:#f4f8fc;color:#103e63;border-radius:11px;height:42px;width:42px;font-size:28px;flex-shrink:0;cursor:pointer}
.tpi-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.tpi-contact-fields label{font-weight:750;color:#18496b;font-size:13px}.tpi-contact-fields .full{grid-column:1/-1}.tpi-contact-fields input:not([type=checkbox]),.tpi-contact-fields textarea{margin-top:6px;display:block;box-sizing:border-box;width:100%;font:inherit;font-size:15px;min-height:45px;border:1px solid #b9cede;border-radius:10px;padding:10px 12px;color:#18334c;background:#fff}.tpi-contact-fields textarea{min-height:120px;resize:vertical}.tpi-contact-fields input[type=file]{padding:8px}.tpi-contact-fields small{display:block;font-weight:400;color:#657d90;margin-top:6px}.tpi-contact-fields .tpi-contact-consent{display:flex;align-items:flex-start;gap:9px;font-weight:500;line-height:1.5}.tpi-contact-fields .tpi-contact-consent input{width:19px;height:19px;flex-shrink:0;accent-color:#0b5fb3}.tpi-contact-fields .tpi-privacy-help{font-size:12px;color:#6b7e8c;margin:0}.tpi-contact-trap{position:absolute;left:-9000px;opacity:0}
.tpi-contact-buttons{display:flex;gap:10px;justify-content:flex-end;border-top:1px solid #e5edf3;padding-top:15px}.tpi-contact-buttons button{font:inherit;font-weight:850;border-radius:10px;padding:12px 16px;cursor:pointer;border:1px solid #bfd3e4;color:#0b5fb3;background:#fff}.tpi-contact-buttons button[type=submit]{background:#ef8726;border-color:#ef8726;color:#fff}.tpi-contact-buttons button:disabled{opacity:.55;cursor:wait}#tpiContactFeedback{font-size:14px;line-height:1.45;color:#ac4519;min-height:1.4em;margin:10px 0}
@media(max-width:680px){.tpi-contact-dialog-web{width:100vw;max-width:none;max-height:96dvh;inset:auto 0 0;border-radius:18px 18px 0 0;margin:0}.tpi-contact-shell{padding:18px}.tpi-contact-fields{grid-template-columns:1fr}.tpi-contact-heading h2{font-size:20px}.tpi-contact-buttons{flex-direction:column-reverse}.tpi-contact-buttons button{min-height:48px}}

.tpi-contact-sent{padding:15px 0 8px}.tpi-contact-sent h3{color:#124672;font-size:21px;margin:0 0 12px}.tpi-contact-sent p{line-height:1.55;color:#355771}.tpi-contact-sent button{margin-top:12px;background:#ef8726;color:#fff;border:0;border-radius:10px;padding:12px 19px;cursor:pointer;font:inherit;font-weight:750}
