.contact-widget{position:fixed;right:24px;bottom:24px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:12px;color:var(--ink);font-family:Onest,Arial,sans-serif}
.contact-widget button,.contact-widget a{touch-action:manipulation}
.contact-widget :focus-visible{outline:3px solid #087df1;outline-offset:4px}
.widget-launcher{display:flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:14px 20px;border:1px solid #ffffff33;border-radius:999px;background:#17191c;color:#fff;font-size:14px;line-height:1.4;box-shadow:0 8px 24px #17191c26}
.widget-launcher>svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.widget-invite{position:relative;width:280px;padding:20px 48px 18px 20px;background:#fff;border:1px solid var(--line);border-radius:18px 18px 4px 18px;box-shadow:0 8px 32px #17191c16;animation:widget-enter 220ms ease-out both}
.widget-invite p{font-size:15px;font-weight:600;line-height:1.5;color:var(--ink);margin:0 0 10px}
.widget-invite-link{display:inline-flex;align-items:center;gap:8px;min-height:36px;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.widget-dismiss,.widget-close{display:grid;place-items:center;width:40px;height:40px;min-width:40px;border:0;background:transparent;border-radius:50%;color:var(--muted);padding:8px}
.widget-dismiss{position:absolute;right:5px;top:5px}
.widget-dismiss svg,.widget-close svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.widget-panel{width:360px;max-height:calc(100dvh - 112px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 18px 64px #17191c26;animation:widget-enter 180ms ease-out both}
.widget-header{display:flex;gap:12px;align-items:center;padding:18px 16px;border-bottom:1px solid var(--line)}
.widget-header>div{flex:1;min-width:0}
.widget-header h2{font-family:Onest,Arial,sans-serif;font-size:17px;font-weight:600;line-height:1.3;letter-spacing:-.02em;margin:0}
.widget-header p{font-size:13px;line-height:1.5;color:var(--muted);margin:3px 0 0}
.widget-body{padding:20px}
.widget-message{padding:16px;background:#f4f4f6;border-radius:4px 15px 15px 15px;margin-bottom:16px}
.widget-message p{font-size:15px;line-height:1.65;color:var(--ink);margin:0}
.widget-message p+p{margin-top:10px;color:var(--muted);font-size:14px}
.widget-action{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:12px 15px;border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:600;line-height:1.5;color:var(--ink);background:#fff}
.widget-action--primary{background:#17191c;border-color:#17191c;color:#fff}
.widget-manager{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}
.widget-manager>p{font-size:14px;line-height:1.5;margin:0 0 12px;color:var(--muted)}
.widget-manager .widget-hours{font-size:12px;margin:10px 0 0;text-align:center}
.video-expanded .contact-widget{display:none}
@media(hover:hover){.widget-launcher:hover,.widget-action--primary:hover{background:#363941}.widget-close:hover,.widget-dismiss:hover{background:#f2f2f4}.widget-action:not(.widget-action--primary):hover{background:#f4f4f6}}
@keyframes widget-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
 .contact-widget{right:16px;bottom:max(16px,env(safe-area-inset-bottom));gap:10px}
 .widget-launcher{width:54px;height:54px;padding:12px}
 .widget-launcher>span{display:none}
 .widget-invite{width:min(280px,calc(100vw - 32px));padding-top:17px;padding-bottom:14px}
 .widget-panel{width:min(360px,calc(100vw - 32px));max-height:calc(100dvh - 98px - env(safe-area-inset-bottom));border-radius:17px}
 .widget-header{padding:14px}
 .widget-body{padding:16px}
 .widget-close,.widget-dismiss{min-width:44px;width:44px;height:44px}
}
@media(prefers-reduced-motion:reduce){.widget-panel,.widget-invite{animation:none}}
