/* Shared customer service controls, including touch and keyboard access. */
@media(min-width:951px) {
    /* 68px toolbar + 12px edge inset + 16px clear space beside content. */
    .site-header, main, .closing-cta, .site-footer { --sst-wide:min(92vw,calc(100% - 192px),2300px); }
}
@media(min-width:951px) and (max-width:1000px) {
    .site-header > .container { gap:8px; }
}
.floating-contact.contact-widget {
    display:block;
    width:68px;
    right:12px;
    bottom:max(24px,env(safe-area-inset-bottom));
    border:1px solid #e0e9f5;
    border-radius:12px;
    box-shadow:0 6px 24px #23395614;
}
.contact-widget > .contact-widget-action,
.contact-widget > .contact-widget-top {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    min-height:74px;
    padding:12px 4px;
    border:0;
    border-radius:0;
    background:#fff;
    color:#2367c8;
    font-size:12px;
    font-weight:500;
    line-height:1.5;
}
.contact-widget > .contact-widget-action:first-child { border-radius:12px 12px 0 0; }
.contact-widget > .contact-widget-action + .contact-widget-action,
.contact-widget > .contact-widget-top { border-top:1px solid #edf2f8; }
.contact-widget > .contact-widget-action:hover,
.contact-widget > .contact-widget-action[aria-expanded="true"],
.contact-widget > .contact-widget-top:hover { color:#1677ff;background:#eef5ff; }
.contact-widget > .contact-widget-top { min-height:44px;padding:10px;border-radius:0 0 12px 12px;color:#7889a2; }
.contact-widget > .contact-widget-action svg,
.contact-widget > .contact-widget-top svg { width:24px;height:24px;margin:0; }
.contact-widget .contact-qr-panel {
    position:absolute;
    right:calc(100% + 12px);
    bottom:0;
    width:312px;
    max-width:calc(100vw - 104px);
    max-height:calc(100dvh - 100px);
    overflow:auto;
    padding:8px 12px 12px;
    border:1px solid #e0e9f5;
    border-radius:12px;
    background:#fff;
    box-shadow:0 12px 40px #23395620;
    text-align:left;
}
.contact-qr-panel[hidden] { display:none; }
.contact-qr-heading { display:flex;align-items:center;justify-content:space-between;padding-left:6px;color:#5e718d;font-size:13px; }
.contact-qr-panel button {
    display:flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    border:0;
    border-radius:6px;
    color:#5e718d;
    font-size:26px;
    line-height:1;
}
.contact-qr-panel button:hover { background:#eef5ff;color:#1677ff; }
.contact-qr-panel img { width:286px;height:auto;margin:0 auto; }
@media(max-width:950px) {
    .floating-contact.contact-widget { display:flex;width:auto;right:12px;bottom:max(12px,env(safe-area-inset-bottom)); }
    .contact-widget > .contact-widget-action { width:68px;min-height:62px;padding:8px 5px;gap:3px; }
    .contact-widget > .contact-widget-action:first-child { border-radius:12px 0 0 12px; }
    .contact-widget > .contact-widget-online { border-top:0;border-left:1px solid #edf2f8;border-radius:0 12px 12px 0; }
    .contact-widget > .contact-widget-plan,
    .contact-widget > .contact-widget-top { display:none; }
    .contact-widget .contact-qr-panel { right:0;bottom:calc(100% + 10px);max-width:calc(100vw - 24px);max-height:calc(100dvh - 170px); }
    .contact-qr-panel img { width:auto;max-height:calc(100dvh - 232px); }
    .site-footer { padding-bottom:86px; }
}
@media(min-width:681px) and (max-height:600px) {
    .contact-widget .contact-qr-panel { bottom:0;right:calc(100% + 12px);max-height:calc(100dvh - 92px); }
    .contact-qr-panel img { width:auto;max-height:calc(100dvh - 154px); }
}
