#sfc-floating {
    --sfc-text: #25303b;
    position: fixed;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    z-index: 9990;
    width: 260px;
    max-width: calc(100vw - 32px);
    color: var(--sfc-text);
    font-family: system-ui, -apple-system, "Segoe UI", "Microsoft YaHei", sans-serif;
    font-size: var(--sfc-content-size, 16px);
    line-height: 1.5;
    text-align: center;
    letter-spacing: normal;
    text-transform: none;
}
#sfc-floating *, #sfc-floating *::before, #sfc-floating *::after { box-sizing: border-box; }
#sfc-floating.sfc-floating--left { left: 16px; right: auto; }
#sfc-floating[data-open="0"] { right: 0; width: max-content; }
#sfc-floating.sfc-floating--left[data-open="0"] { left: 0; right: auto; }
#sfc-floating[hidden], #sfc-floating [hidden] { display: none !important; }
#sfc-floating .sfc-panel {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    padding: 0;
    margin: 0;
    background: #fff;
    border: 1px solid #d8dee4;
    border-radius: 12px;
    box-shadow: 0 6px 26px #15223126;
    overflow: hidden;
}
#sfc-floating .sfc-header { position: relative; flex: 0 0 auto; padding: 12px 46px; background: var(--sfc-header, #1686bd); color: #fff; }
#sfc-floating .sfc-title { margin: 0; padding: 0; color: #fff; font-family: inherit; font-size: var(--sfc-title-size, 18px); line-height: 1.45; font-weight: 700; overflow-wrap: anywhere; max-height: min(180px, 30vh); max-height: min(180px, 30dvh); overflow-y: auto; }
#sfc-floating button { min-width: 0; min-height: 0; border: 0; margin: 0; cursor: pointer; letter-spacing: normal; text-transform: none; font-family: inherit; }
#sfc-floating .sfc-close { display: none; position: absolute; top: 4px; right: 2px; padding: 11px; width: 44px; height: 44px; color: #fff; background: transparent; border-radius: 6px; align-items: center; justify-content: center; }
#sfc-floating.is-ready .sfc-close { display: flex; }
#sfc-floating .sfc-body { padding: 20px; overflow-y: auto; overscroll-behavior: contain; min-height: 0; }
#sfc-floating .sfc-contact-list { list-style: none; width: max-content; max-width: 100%; margin: 0 auto; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; }
#sfc-floating .sfc-contact-item { list-style: none; margin: 0; padding: 0; }
#sfc-floating .sfc-contact-link,
#sfc-floating .sfc-contact-link:is(:link, :visited, :hover, :active, :focus) {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    gap: 8px;
    padding: 6px 0;
    margin: 0;
    min-height: 44px;
    border: 0;
    border-radius: 4px;
    color: var(--sfc-text) !important;
    text-decoration: none !important;
    box-shadow: none;
    background: none;
    font-size: inherit;
    font-weight: 400;
    line-height: 1.5;
    cursor: pointer;
}
#sfc-floating .sfc-contact-link::before, #sfc-floating .sfc-contact-link::after { content: none; }
#sfc-floating .sfc-contact-value { min-width: 0; overflow-wrap: anywhere; color: inherit; }
#sfc-floating .sfc-icon { display: block; flex: 0 0 var(--sfc-contact-icon-size, 20px); width: var(--sfc-contact-icon-size, 20px); height: var(--sfc-contact-icon-size, 20px); max-width: none; }
#sfc-floating .sfc-icon--email { color: #0879b7; }
#sfc-floating .sfc-icon--phone { color: #354657; }
#sfc-floating .sfc-icon--whatsapp { color: #16bd59; }
#sfc-floating .sfc-wechat-qr { margin: 0; padding: 0; }
#sfc-floating .sfc-wechat-qr--separated { margin-top: 18px; padding-top: 18px; border-top: 1px solid #d8dee4; }
#sfc-floating .sfc-wechat-qr img { display: block; width: var(--sfc-qr-image-size, 180px); max-width: 100%; height: auto; object-fit: contain; margin: 0 auto; border: 0; border-radius: 0; }
#sfc-floating .sfc-wechat-qr figcaption { padding: 0; margin: 8px 0 0; font-size: var(--sfc-caption-size, 14px); font-weight: 600; line-height: 1.5; color: var(--sfc-text); overflow-wrap: anywhere; }
#sfc-floating .sfc-launcher {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: max(64px, calc(var(--sfc-launcher-icon-size, 24px) + 24px), calc(var(--sfc-title-size, 18px) + 24px));
    max-width: 100%;
    max-height: calc(100vh - 80px);
    max-height: calc(100dvh - 80px);
    overflow: hidden;
    padding: 22px 12px;
    border-radius: 10px 0 0 10px;
    background: var(--sfc-header, #1686bd);
    color: #fff;
    font-size: var(--sfc-title-size, 18px);
    font-weight: 700;
    line-height: 1.1;
    box-shadow: 0 4px 16px #15223126;
}
#sfc-floating .sfc-launcher-icon { display: block; width: var(--sfc-launcher-icon-size, 24px); height: var(--sfc-launcher-icon-size, 24px); flex: 0 0 auto; max-width: none; color: #fff; }
#sfc-floating .sfc-launcher-label { display: block; writing-mode: vertical-rl; text-orientation: upright; white-space: nowrap; letter-spacing: .12em; overflow: hidden; text-overflow: ellipsis; max-height: min(240px, calc(100vh - var(--sfc-launcher-icon-size, 24px) - 136px)); max-height: min(240px, calc(100dvh - var(--sfc-launcher-icon-size, 24px) - 136px)); }
#sfc-floating.sfc-floating--left .sfc-launcher { border-radius: 0 10px 10px 0; }
#sfc-floating .sfc-contact-link:focus-visible { outline: 2px solid #25303b; outline-offset: 2px; }
#sfc-floating button:focus-visible { outline: 2px solid #fff; outline-offset: -4px; box-shadow: 0 0 0 2px #25303b; }
#sfc-floating .sfc-title:focus-visible { outline: 2px solid #fff; outline-offset: -2px; }
@media (min-width: 768px) {
    #sfc-floating[data-desktop="0"] { display: none; }
}
@media (max-width: 767px) {
    #sfc-floating, #sfc-floating.sfc-floating--left { top: 50%; bottom: auto; left: auto; right: 16px; transform: translateY(-50%); }
    #sfc-floating[data-open="0"], #sfc-floating.sfc-floating--left[data-open="0"] { left: auto; right: 0; }
    #sfc-floating.sfc-floating--left .sfc-launcher { border-radius: 10px 0 0 10px; }
    #sfc-floating[data-mobile="0"] { display: none; }
    #sfc-floating .sfc-panel { max-height: calc(100vh - 88px); max-height: calc(100dvh - 88px - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
}
@media print { #sfc-floating { display: none !important; } }
