/* Shared AllPrint contact: first-party UI; no third-party chat SDK. */
body{padding-bottom:90px}
.ap-contact,.ap-contact *,.ap-contact-inline,.ap-contact-inline *{box-sizing:border-box}
.ap-contact{position:fixed;right:24px;bottom:max(20px,env(safe-area-inset-bottom));z-index:900;font:15px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#092443}
.ap-contact-launcher{list-style:none;display:flex;align-items:center;gap:10px;min-height:52px;padding:13px 20px;border:1px solid #1367db;border-radius:100px;background:#0866df;color:white;font-weight:650;cursor:pointer;box-shadow:0 8px 26px #10366030;user-select:none}
.ap-contact-launcher::-webkit-details-marker{display:none}
.ap-contact-launcher:hover,.ap-contact-messenger:hover,.ap-contact-inline-chat:hover{background:#0755bc}
.ap-contact svg,.ap-contact-inline svg{flex:none}
.ap-contact-panel{position:absolute;bottom:66px;right:0;width:min(360px,calc(100vw - 48px));max-height:calc(100dvh - 118px);overflow:auto;background:#fff;border:1px solid #dce4ef;border-radius:20px;padding:24px;box-shadow:0 18px 60px #09244324;text-align:left}
.ap-contact-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ap-contact-eyebrow{font-size:10px;font-weight:750;letter-spacing:1.5px;color:#5c7592}
.ap-contact h2{font:650 25px/1.25 system-ui,sans-serif;letter-spacing:-.6px;margin:7px 0 0;color:#092443}
.ap-contact-close{width:36px;height:36px;flex:none;border:1px solid #e1e7f0;border-radius:50%;background:#f7f9fc;color:#38526e;font-size:26px;line-height:1;cursor:pointer}
.ap-contact-intro{font-size:14px;color:#52657b;margin:16px 0 20px;line-height:1.6}
.ap-contact a{text-decoration:none}
.ap-contact-messenger{display:flex;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px;background:#0866df;color:white!important;border-radius:10px;font-weight:650}
.ap-contact-option{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:12px;padding:13px 14px;border:1px solid #e1e7f0;border-radius:10px;color:#092443!important;background:white;overflow-wrap:anywhere}
.ap-contact-option:hover{border-color:#8eb9ef;background:#f8fbff}
.ap-contact-option strong{font-size:13px;font-weight:650}.ap-contact-option span{font-size:14px;color:#476582}
.ap-contact-note{font-size:12px;line-height:1.6;color:#697c90;margin:18px 0 12px}
.ap-contact-page{font-size:12px;font-weight:600;color:#0962ca!important}
.ap-contact :focus-visible,.ap-contact-inline a:focus-visible{outline:3px solid #82b9ff;outline-offset:4px}
.ap-contact-inline{margin:28px auto 0;padding:24px 0 0;border-top:1px solid #e3e9f1;text-align:center;color:#173a60;font:14px/1.6 system-ui,sans-serif;max-width:560px}
.ap-contact-inline p{margin:0 0 12px;font-weight:650;color:#092443}
.ap-contact-inline-chat{display:flex;align-items:center;justify-content:center;gap:9px;background:#0866df;color:white!important;border-radius:10px;min-height:48px;padding:12px 18px;text-decoration:none;font-weight:650}
.ap-contact-inline-email{display:block;color:#0962ca!important;margin:12px 0 8px;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.ap-contact-inline>span{display:block;font-size:12px;color:#677b91}
body:has(dialog[open]) .ap-contact{display:none}
@media(max-width:600px){.ap-contact{right:16px;bottom:max(16px,env(safe-area-inset-bottom))}.ap-contact-launcher{font-size:14px;padding:12px 17px;min-height:48px}.ap-contact-panel{bottom:62px;padding:22px}.ap-contact-inline{margin-top:22px;padding-top:22px}}
@media print{.ap-contact{display:none}body{padding-bottom:0}}

/* Compact mobile chat keeps page controls readable; its text remains accessible. */
@media(max-width:600px){
  body:has(.ap-contact){padding-bottom:max(96px,calc(80px + env(safe-area-inset-bottom)))}
  html{scroll-padding-bottom:96px}
  .ap-contact-launcher{width:56px;height:56px;min-height:56px;padding:0;justify-content:center;gap:0}
  .ap-contact-launcher>span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
  .ap-contact-panel{bottom:70px;max-height:calc(100dvh - 132px)}
  .ap-contact-close{width:48px;height:48px;min-height:48px}
}
