/* Floating contact links, independent of the active theme. */
.yiexian-floating-actions { position: fixed; right: 20px; bottom: 24px; z-index: 999; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; max-width: calc(100vw - 32px); }
.yiexian-floating-actions .yiexian-floating-btn { display: inline-flex; align-items: center; gap: 10px; padding: 12px 16px; border-radius: 8px; background: #263778; color: #fff; text-decoration: none; font: 600 14px/1.4 system-ui, sans-serif; box-shadow: 0 4px 16px #0003; max-width: 100%; box-sizing: border-box; transition: transform .15s ease; }
.yiexian-floating-actions .yiexian-floating-btn--red { background: #ce2028; }
.yiexian-floating-actions .yiexian-floating-btn--dark { background: #08112d; }
.yiexian-floating-actions .yiexian-floating-btn--whatsapp { background: #128c45; }
.yiexian-floating-actions .yiexian-floating-btn:hover { transform: translateY(-2px); color: #fff; }
.yiexian-floating-actions .yiexian-floating-btn:focus-visible { outline: 3px solid #f6b100; outline-offset: 3px; }
.yiexian-floating-icon { display: inline-flex; flex: 0 0 22px; }
.yiexian-floating-icon svg { display: block; width: 22px; height: 22px; }
.yiexian-floating-label { overflow-wrap: anywhere; }
@media (max-width: 640px) { .yiexian-floating-actions { right: 12px; bottom: 16px; gap: 8px; } .yiexian-floating-actions .yiexian-floating-btn { padding: 11px 13px; font-size: 13px; } }
@media (prefers-reduced-motion: reduce) { .yiexian-floating-actions .yiexian-floating-btn { transition: none; } }
@media print { .yiexian-floating-actions { display: none; } }

.yiexian-floating-actions button.yiexian-floating-btn { border: 0; cursor: pointer; appearance: none; text-align: left; }
.yiexian-floating-actions button.yiexian-floating-btn:disabled { opacity: .6; cursor: default; }
