.yh-contact-widget-ready .contact-floating-btn { display: none; }
.yh-contact-widget { position: fixed; right: 24px; bottom: 24px; z-index: 1040; font-family: inherit; color: #1d2923; }
.yh-contact-widget[hidden], .yh-contact-widget [hidden] { display: none !important; }
.yh-contact-widget__toggle { position: relative; display: flex; width: 62px; height: 62px; align-items: center; justify-content: center; padding: 0; border: 1px solid #d8cab9; border-radius: 50%; background: #efe3d2; color: #15513f; box-shadow: 0 5px 20px #1a352426; cursor: pointer; }
.yh-contact-widget__toggle::before { content: ""; position: absolute; inset: -1px; border: 1px solid #b5a58c; border-radius: 50%; animation: yh-contact-pulse 3s ease-out infinite; pointer-events: none; }
.yh-contact-widget__toggle svg { width: 28px; height: 28px; }
.yh-contact-widget__close { display: none; }
.yh-contact-widget.is-open .yh-contact-widget__chat { display: none; }
.yh-contact-widget.is-open .yh-contact-widget__close { display: block; }
.yh-contact-widget.is-open .yh-contact-widget__toggle::before { animation: none; opacity: 0; }
.yh-contact-widget__hint { position: absolute; right: 78px; top: 50%; transform: translate(8px,-50%); padding: 12px 18px; border-radius: 28px; background: #fffdf8; box-shadow: 0 6px 24px #1a352426; color: #27362e; font-size: 14px; font-weight: 500; white-space: nowrap; opacity: 0; visibility: hidden; transition: opacity 180ms ease, transform 180ms ease, visibility 180ms; pointer-events: none; }
.yh-contact-widget:not(.is-open) .yh-contact-widget__toggle:hover .yh-contact-widget__hint,
.yh-contact-widget:not(.is-open) .yh-contact-widget__toggle:focus-visible .yh-contact-widget__hint { opacity: 1; visibility: visible; transform: translate(0,-50%); }
.yh-contact-widget__panel { position: absolute; bottom: 78px; right: 3px; width: 238px; max-width: calc(100vw - 40px); max-height: calc(100vh - 122px); max-height: calc(100dvh - 122px); overflow: auto; padding: 8px; margin: -8px; visibility: hidden; opacity: 0; transform: translateY(12px); transition: opacity 180ms ease, transform 180ms ease, visibility 180ms; pointer-events: none; }
.yh-contact-widget.is-open .yh-contact-widget__panel { visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto; }
.yh-contact-widget__list { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 0; list-style: none; }
.yh-contact-widget__list li { opacity: 0; transform: translateY(12px); transition: opacity 180ms ease, transform 240ms ease; }
.yh-contact-widget.is-open .yh-contact-widget__list li { opacity: 1; transform: translateY(0); transition-delay: calc(var(--i) * 30ms); }
.yh-contact-widget__item { display: flex; justify-content: flex-end; align-items: center; gap: 10px; width: 100%; min-height: 56px; padding: 0; border: 0; background: transparent; color: #27362e; text-decoration: none; font: inherit; cursor: pointer; }
.yh-contact-widget__label { padding: 8px 12px; border: 1px solid #ece6dc; border-radius: 18px; background: #fffdf8; font-size: 13px; line-height: 1.3; box-shadow: 0 2px 8px #183e2710; }
.yh-contact-widget__icon { display: flex; align-items: center; justify-content: center; flex: 0 0 56px; width: 56px; height: 56px; overflow: hidden; border: 1px solid #e4ddd2; border-radius: 50%; background: #fffdf8; box-shadow: 0 2px 10px #183e271c; }
.yh-contact-widget__icon img { display: block; flex: none; width: 32px; height: 32px; object-fit: contain; }
.yh-contact-widget__icon--max img { box-sizing: border-box; padding: 7px; border-radius: 50%; background: linear-gradient(135deg, #258cff, #24c4e8 55%, #8054ed); }
.yh-contact-widget__item:hover { color: #15513f; text-decoration: none; }
.yh-contact-widget__item:hover .yh-contact-widget__label { background: #efe3d2; }
.yh-contact-widget button:focus-visible, .yh-contact-widget a:focus-visible { outline: 2px solid #15513f; outline-offset: 3px; border-radius: 22px; }
body.modal-open .yh-contact-widget { visibility: hidden; }
@keyframes yh-contact-pulse { 0% { transform: scale(1); opacity: .55; } 70%,100% { transform: scale(1.45); opacity: 0; } }
@media (max-width: 767px) { .yh-contact-widget { right: 16px; bottom: max(16px, env(safe-area-inset-bottom)); } .yh-contact-widget__toggle { width: 56px; height: 56px; } .yh-contact-widget__panel { bottom: 70px; right: 0; } }
@media (hover: none) { .yh-contact-widget__hint { display: none; } }
@media (prefers-reduced-motion: reduce) { .yh-contact-widget *, .yh-contact-widget__toggle::before { animation: none !important; transition: none !important; } .yh-contact-widget__toggle::before { opacity: 0; } }
