/* China contact utilities: blue/white catalogue UI, independent of the chat provider. */
.tc-contact-rail { position: fixed; z-index: 45; inset-inline-end: 16px; inset-block-start: 50%; transform: translateY(-50%); width: 70px; background: #fff; color: #404b5b; border: 1px solid var(--tc-line); border-radius: 5px; box-shadow: 0 3px 18px #18365412; }
.tc-contact-action { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 7px; min-height: 68px; min-width: 44px; padding: 10px 3px; font-size: 11px; line-height: 1.2; text-align: center; color: inherit; }
.tc-contact-action svg { flex: none; }
.tc-contact-rail > .tc-contact-action, .tc-contact-rail > .tc-wechat { border-block-end: 1px solid var(--tc-line); }
.tc-contact-rail > :last-child { border-block-end: 0; }
.tc-contact-action:hover, .tc-wechat[open] > summary { color: var(--tc-blue-dark); background: #f1f6ff; }
.tc-contact-action:focus-visible { outline-offset: -3px; border-radius: 3px; }
.tc-contact-whatsapp svg { color: #168645; }
.tc-wechat { position: relative; }
.tc-wechat > summary { list-style: none; cursor: pointer; }
.tc-wechat > summary::-webkit-details-marker { display: none; }
.tc-wechat-panel { position: absolute; inset-inline-end: calc(100% + 12px); inset-block-end: 0; width: 252px; max-width: calc(100vw - 112px); padding: 20px 16px 12px; color: var(--tc-ink); background: #fff; border: 1px solid var(--tc-line); border-radius: 5px; box-shadow: 0 6px 24px #18365424; text-align: center; }
.tc-wechat-heading { padding-inline: 12px; margin: 3px 0 16px; font-size: 15px; font-weight: 700; }
.tc-wechat-panel img { display: block; width: 220px; height: auto; max-width: 100%; margin-inline: auto; }
.tc-wechat-panel > p:last-child { margin: 14px 0 0; font-size: 13px; overflow-wrap: anywhere; }
.tc-wechat-close { display: inline-flex; align-items: center; justify-content: center; position: absolute; inset-inline-end: 0; inset-block-start: 0; width: 38px; height: 38px; border: 0; color: #555; background: transparent; font-size: 25px; line-height: 1; }
.tc-contact-mobile { display: none; }
@media (min-width: 961px) {
    /* Keep catalogue content clear of the rail even on smaller desktop windows. */
    .tc-has-contact-rail .tc-container { width: min(var(--tc-width), calc(100% - 192px)); }
}
@media (max-width: 960px) {
    .tc-has-contact-actions { padding-bottom: calc(66px + env(safe-area-inset-bottom, 0px)); }
    .tc-contact-rail { display: none; }
    .tc-contact-mobile { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: stretch; position: fixed; z-index: 45; inset: auto 0 0; min-height: calc(66px + env(safe-area-inset-bottom, 0px)); padding-top: 3px; padding-bottom: env(safe-area-inset-bottom, 0px); padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px); background: #fff; color: #404b5b; border-top: 1px solid var(--tc-line); box-shadow: 0 -3px 16px #1836540d; }
    /* The real minimized widget is 281px wide. Lift its outer container above the
       whole bar; leave the provider's expanded conversation layout untouched. */
    .tc-legacy.tc-has-livechat.tc-livechat-minimized #chat-widget-container { bottom: calc(76px + env(safe-area-inset-bottom, 0px)) !important; right: max(10px, env(safe-area-inset-right, 0px)) !important; max-width: calc(100vw - 20px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) !important; }
    .tc-contact-mobile .tc-contact-action { min-height: 62px; gap: 5px; padding: 8px 2px; font-size: 11px; }
    .tc-contact-mobile .tc-contact-action + .tc-contact-action { border-inline-start: 1px solid #f0f1f3; }
    .tc-contact-mobile .tc-contact-action svg { width: 23px; height: 23px; }
    .tc-contact-mobile .tc-contact-action span { max-width: 100%; overflow-wrap: anywhere; }
    .tc-contact-keyboard-open .tc-contact-mobile { visibility: hidden; pointer-events: none; }
    #inquiry { scroll-margin-bottom: calc(76px + env(safe-area-inset-bottom, 0px)); }
    /* Imported news titles can contain non-breaking spaces. */
    .tc-legacy .tc-news-card h2 a { white-space: normal; overflow-wrap: anywhere; }
}
@media (max-height: 520px) and (min-width: 961px) {
    .tc-wechat-panel { max-height: calc(100dvh - 24px); overflow-y: auto; inset-block-end: -20px; }
    .tc-wechat-panel img { max-height: 180px; width: auto; }
}
@media print {
    .tc-contact-rail, .tc-contact-mobile { display: none !important; }
    .tc-has-contact-actions { padding-bottom: 0; }
}
