.neo-social { position: fixed; z-index: 20; bottom: calc(24px + env(safe-area-inset-bottom, 0px)); right: calc(24px + env(safe-area-inset-right, 0px)); color: var(--neo-dark); }
.neo-social--left { right: auto; left: calc(24px + env(safe-area-inset-left, 0px)); }
.neo-social-toggle { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 56px; padding: 12px 20px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 999px; color: #fff; background: var(--neo-green); box-shadow: 0 6px 24px rgba(6, 75, 62, .22); font-size: .875rem; font-weight: 700; line-height: 1.5; list-style: none; cursor: pointer; touch-action: manipulation; transition: background-color .18s ease, box-shadow .18s ease; }
.neo-social-toggle::-webkit-details-marker { display: none; }
.neo-social-toggle:hover { background: var(--neo-dark); box-shadow: 0 8px 28px rgba(6, 75, 62, .28); }
.neo-social-toggle:focus-visible { outline: 3px solid var(--neo-focus); outline-offset: 4px; }
.neo-social-close, .neo-social[open] .neo-social-chat { display: none; }
.neo-social[open] .neo-social-close { display: block; }
.neo-social-panel { position: absolute; bottom: calc(100% + 12px); right: 0; width: 272px; max-width: calc(100vw - 32px); max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px - env(safe-area-inset-bottom, 0px)); overflow-y: auto; overscroll-behavior: contain; padding: 20px 12px 12px; border: 1px solid var(--neo-border); border-radius: 20px; background: #fff; box-shadow: 0 12px 44px rgba(16, 44, 39, .16); }
.neo-social--left .neo-social-panel { right: auto; left: 0; }
.neo-social:not([open]) .neo-social-panel { display: none; }
.neo-social-heading { margin: 0 8px 4px; font-size: .875rem; font-weight: 700; line-height: 1.5; }
.neo-social-hint { margin: 0 8px 14px; color: var(--neo-muted); font-size: .75rem; line-height: 1.6; }
.neo-social-panel ul { display: grid; gap: 4px; list-style: none; margin: 0; padding: 0; }
.neo-social-link { display: flex; align-items: center; gap: 12px; min-height: 52px; padding: 7px 8px; border-radius: 12px; color: var(--neo-dark); font-size: .875rem; font-weight: 600; line-height: 1.5; text-decoration: none; transition: background-color .18s ease; }
.neo-social-link:hover { color: var(--neo-dark); background: var(--neo-surface); }
.neo-social-link:focus-visible { outline-offset: -2px; }
.neo-social-icon { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border-radius: 11px; color: #fff; background: #0866ff; }
.neo-social-link--zalo .neo-social-icon { background: #0068ff; }
.neo-social-link--messenger .neo-social-icon { background: #6656e8; }
.neo-social-link--tiktok .neo-social-icon { background: #172a27; }
.neo-social-link--youtube .neo-social-icon { background: #d90000; }
.neo-social-zalo { font-size: 12px; font-weight: 800; letter-spacing: -.6px; }
.neo-social-arrow { margin-left: auto; padding-right: 4px; color: var(--neo-muted); font-size: 1.125rem; }
@media (max-width: 800px) {
  .neo-social { right: calc(16px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
  .neo-social--left { right: auto; left: calc(16px + env(safe-area-inset-left, 0px)); }
  .neo-social-toggle { min-height: 48px; padding: 10px 16px; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .neo-social-toggle, .neo-social-link { transition: none; }
}
@media print { .neo-social { display: none; } }
