/* Persistent LINE contact, clear of the mobile purchase bar. */
.floating-line{position:fixed;z-index:39;right:24px;bottom:24px;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:7px 18px 7px 8px;border-radius:999px;background:#06c755;color:#fff;text-decoration:none;box-shadow:0 8px 26px rgba(10,61,38,.25);font:700 15px/1.2 Arial,"Noto Sans TC",sans-serif;transition:transform .18s ease,box-shadow .18s ease}
.floating-line:hover{transform:translateY(-2px);box-shadow:0 11px 30px rgba(10,61,38,.32)}
.floating-line:focus-visible{outline:3px solid #17382f;outline-offset:3px}
.floating-line-mark{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:#fff;color:#06a849;font:900 12px/1 Arial,sans-serif;letter-spacing:-.04em}
body:has(dialog[open]) .floating-line,body:has(.mobile-site-menu[open]) .floating-line{visibility:hidden;pointer-events:none}
@media(max-width:760px){.floating-line{right:16px;bottom:calc(18px + env(safe-area-inset-bottom));width:56px;height:56px;min-height:0;padding:8px;justify-content:center}.floating-line-mark{width:40px;height:40px}.floating-line-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}body:has(.mobile-purchase:not([hidden])) .floating-line{bottom:calc(78px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.floating-line{transition:none}}
