/* Native disclosure with one shared, server-rendered contact list. */
.floating-contact{position:fixed;z-index:90;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));font-size:14px;line-height:1.5;color:var(--ink)}
.floating-contact>summary{display:flex;align-items:center;justify-content:center;gap:9px;min-height:52px;padding:12px 20px;list-style:none;cursor:pointer;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:28px;box-shadow:0 4px 16px #18233926;font-weight:600}
.floating-contact>summary::-webkit-details-marker{display:none}
.floating-contact>summary:hover{background:#211dc8}
.floating-contact-panel{position:absolute;right:0;bottom:calc(100% + 12px);width:360px;max-width:calc(100vw - 32px);max-height:calc(100vh - 156px);max-height:calc(100dvh - 156px);overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 32px #18233926}
.floating-contact-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 16px;border-bottom:1px solid var(--line);background:var(--surface)}
.floating-contact-header h2{margin:0;font-size:16px;font-weight:600;letter-spacing:0;line-height:1.5;text-wrap:initial}
.floating-contact-close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;min-height:44px;padding:0;background:transparent;color:var(--muted);border:0;border-radius:var(--control-radius);font-size:26px;font-weight:400;cursor:pointer}
.floating-contact-close[hidden]{display:none}
.floating-contact-close:hover{color:var(--primary);background:var(--brand-soft)}
.floating-contact-list{list-style:none;margin:0;padding:0 16px}
.floating-contact-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:0;padding:12px 0}
.floating-contact-list li+li{border-top:1px solid var(--line)}
.floating-contact-person{display:flex;flex-direction:column;gap:2px;min-width:0;overflow-wrap:anywhere}
.floating-contact-person strong{font-size:14px;font-weight:600}
.floating-contact-person>span{font-size:13px;color:var(--muted)}
.floating-contact-actions{display:flex;gap:8px;flex-shrink:0}
.floating-contact-actions a{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px;color:var(--primary);background:var(--brand-soft);border:1px solid var(--line);border-radius:var(--control-radius);font-size:13px;font-weight:500;text-decoration:none}
.floating-contact-actions a:hover{border-color:var(--primary);background:var(--brand-hover)}
.floating-contact-actions .tbmg-icon{width:16px;height:16px}
.floating-contact :focus-visible{outline:2px solid var(--primary);outline-offset:3px}
.floating-contact>summary:focus-visible{outline-offset:4px}
.has-floating-contact .shop-footer{padding-bottom:76px}
@media(max-width:600px){
 .floating-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
 .floating-contact>summary{min-height:48px;padding:10px 16px}
 .floating-contact-panel{position:fixed;left:16px;right:16px;bottom:calc(76px + env(safe-area-inset-bottom,0px));width:auto;max-width:360px;margin-left:auto;max-height:calc(100vh - 132px);max-height:calc(100dvh - 132px)}
 .floating-contact-list{padding-inline:12px}
 .floating-contact-list li{gap:8px}
 .floating-contact-actions{gap:6px}
}
