/* Responsive consultation controls — no animated badges or icon downloads. */
.mpg-contact-system *, .mpg-contact-system *::before, .mpg-contact-system *::after { box-sizing: border-box; }
.mpg-contact-system a { text-decoration: none; }
.mpg-contact-system [hidden] { display: none !important; }
.mpg-contact-system a:focus-visible, .mpg-contact-system button:focus-visible { outline: 2px solid #1765a6; outline-offset: 4px; }
.mpg-contact-launcher { position: fixed; right: 22px; bottom: 22px; z-index: 9990; display: inline-flex; justify-content: center; align-items: center; gap: 11px; min-width: 112px; min-height: 48px; padding: 11px 18px; border: 1px solid #bd263d; border-radius: 8px; background: #bd263d; color: #fff !important; box-shadow: 0 5px 18px #1c363124; font: 12px/1.8 svnsb,sans-serif; transition: background .18s; }
.mpg-contact-launcher:hover { background: #9f1e32; border-color: #9f1e32; }
.mpg-contact-launcher svg { flex-shrink: 0; }.mpg-contact-dock { display: none; }
.mpg-contact-dialog { position: fixed; right: 22px; bottom: 83px; z-index: 10010; width: 370px; max-width: calc(100vw - 36px); max-height: calc(100dvh - 110px); overflow: auto; overscroll-behavior: contain; padding: 24px; border: 1px solid #c9d6c9; border-top: 2px solid #bb3149; border-radius: 12px; background: #f8f9f4; box-shadow: 0 14px 44px #18343226; color: #3e5c68; }
.mpg-contact-dialog-head { display: flex; align-items: start; justify-content: space-between; gap: 14px; margin-bottom: 21px; }.mpg-contact-dialog-head p { margin: 0 0 10px; color: #7d9188; font: 8px/1.8 svnsb,sans-serif; letter-spacing: 1.3px; }.mpg-contact-dialog-head h2 { margin: 0 0 10px; color: #2e4c58; font: 21px/1.45 svnsb,sans-serif; letter-spacing: -.3px; }.mpg-contact-dialog-head h2 span { color: #b22f47; }.mpg-contact-dialog-head small { display: block; color: #7a908e; font-size: 11px; line-height: 1.8; }
.mpg-contact-dialog-head > button { display: flex; justify-content: center; align-items: center; flex: 0 0 40px; width: 40px; height: 40px; margin: -9px -9px 0 0; border: 0; background: transparent; border-radius: 6px; color: #7f9290; cursor: pointer; }.mpg-contact-dialog-head > button:hover { background: #eaf0e5; color: #ad3048; }
.mpg-contact-dialog-links { display: grid; gap: 10px; }.mpg-contact-dialog-links > a { display: flex; align-items: center; gap: 13px; min-height: 90px; padding: 15px 13px; border: 1px solid #d0ddcb; border-radius: 7px; background: #fff; color: #3e6673; transition: background .18s,border-color .18s; }.mpg-contact-dialog-links > a:hover { background: #f5f8ef; border-color: #91ac99; }
.mpg-contact-dialog-icon { display: flex; align-items: center; justify-content: center; flex: 0 0 35px; width: 35px; height: 35px; border: 1px solid #d0dace; border-radius: 7px; color: #b03850; font: 20px/1 sans-serif; }.mpg-contact-dialog-links > a > span:nth-child(2) { min-width: 0; }.mpg-contact-dialog-links strong { display: block; color: #385b69; font: 12px/1.7 svnsb,sans-serif; }.mpg-contact-dialog-links small { display: block; margin-top: 3px; color: #80948e; font-size: 9px; line-height: 1.8; }.mpg-contact-dialog-links b { display: block; margin-top: 5px; color: #8f5965; font: 11px/1.7 svnsb,sans-serif; }.mpg-contact-dialog-links i { margin-left: auto; color: #b34457; font: normal 17px sans-serif; }.mpg-contact-dialog-links > .mpg-contact-dialog-phone { background: #edf2e9; }
.mpg-contact-dialog-more { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding-top: 18px; color: #66867f !important; font-size: 10px; line-height: 1.8; }.mpg-contact-dialog-more > span { color: #ab3e53; font: 17px sans-serif; }
.mpg-contact-backdrop { display: none; }
body.mpg-contact-ui .scrollToTop { right: 24px; bottom: 82px; width: 34px; height: 34px; }body.mpg-contact-ui .scrollToTop img { width: 34px; height: 34px; }
/* A dossier is a reading surface; its page already provides contact links. */
body.mpg-profile-page .mpg-contact-launcher, body.mpg-profile-page .mpg-contact-dock { display: none; }
@media (max-width: 767px) {
 body.mpg-contact-ui:not(.mpg-profile-page) { padding-bottom: calc(75px + env(safe-area-inset-bottom,0px)); }
 .mpg-contact-launcher { display: none; }
 .mpg-contact-dock { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; padding: 8px max(12px,calc((100vw - 520px)/2)) calc(8px + env(safe-area-inset-bottom,0px)); border-top: 1px solid #cad7c5; background: #fbfcf7; box-shadow: 0 -3px 18px #29473c0d; }
 .mpg-contact-dock > a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 50px; padding: 6px 4px; border: 1px solid transparent; border-radius: 7px; color: #456b78; font: 10px/1.5 svnsb,sans-serif; }
 .mpg-contact-dock > .mpg-contact-dock-call { background: #b8273e; border-color: #b8273e; color: #fff; }
 .mpg-contact-dock > a:nth-child(2) { border-color: #d3decb; background: #f4f7ee; }.mpg-contact-dock > a:hover { filter: brightness(.97); }
 .mpg-contact-zalo-mark { display: flex; justify-content: center; align-items: center; width: 21px; height: 21px; border: 1px solid currentColor; border-radius: 6px; font: 15px/1 sans-serif; }
 .mpg-contact-backdrop:not([hidden]) { display: block; position: fixed; inset: 0; z-index: 10000; background: #172f39a6; touch-action: none; }
 .mpg-contact-dialog { right: 12px; left: 12px; bottom: calc(12px + env(safe-area-inset-bottom,0px)); width: auto; max-width: none; max-height: calc(100dvh - 50px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)); padding: 23px; border-radius: 14px; }
 .mpg-contact-dialog-head h2 { font-size: 23px; }.mpg-contact-dialog-links > a { min-height: 88px; }.mpg-contact-dialog-links strong { font-size: 13px; }.mpg-contact-dialog-links small { font-size: 10px; }.mpg-contact-dialog-links b { font-size: 12px; }
 body.mpg-contact-ui .scrollToTop { right: 16px; bottom: calc(84px + env(safe-area-inset-bottom,0px)); width: 32px; height: 32px; }body.mpg-contact-ui .scrollToTop img { width: 32px; height: 32px; }
 body.mpg-contact-is-open .scrollToTop { visibility: hidden !important; }
}
@media (max-width: 359px) { .mpg-contact-dialog { padding: 20px; }.mpg-contact-dialog-head h2 { font-size: 21px; }.mpg-contact-dialog-links > a { gap: 10px; padding-inline: 11px; }.mpg-contact-dialog-icon { flex-basis: 29px; width: 29px; height: 32px; }.mpg-contact-dialog-links strong { font-size: 12px; } }
@media (prefers-reduced-motion: reduce) { .mpg-contact-system * { transition: none !important; animation: none !important; } }
