/* Allsorts Social Share. Restyle through the two custom properties:
   --as-bg (button background) and --as-icon (icon colour). */
.as-share { --as-bg: #f1f1f1; --as-icon: #333; position: relative; }
.as-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.as-list li[hidden], .as-menu li[hidden] { display: none; }
.as-bar .as-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 40px; height: 40px; padding: 0 10px; border: 0; border-radius: 20px; background: var(--as-bg); color: var(--as-icon); text-decoration: none; cursor: pointer; font-size: .9rem; line-height: 1; transition: filter .15s, transform .15s; }
.as-bar .as-btn:hover, .as-bar .as-btn:focus-visible { filter: brightness(.92); transform: translateY(-1px); color: var(--as-icon); }
.as-bar .as-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.as-bar.as-style-icons .as-btn { width: 40px; padding: 0; border-radius: 50%; }
.as-icon { flex: none; display: block; }
.as-menu .dropdown-item { display: flex; align-items: center; gap: 8px; }
.as-menu .as-icon { width: 16px; height: 16px; }
.as-menu-toggle .as-icon { width: 14px; height: 14px; vertical-align: -2px; }
.as-wrap { margin: 0 0 1rem; }
.as-wrap.as-end { margin: 1.5rem 0; }
.as-toast { position: absolute; left: 0; top: 100%; margin-top: 6px; z-index: 5; padding: 6px 10px; border-radius: 6px; background: #222; color: #fff; font-size: .85rem; white-space: nowrap; opacity: 0; pointer-events: none; transition: opacity .2s; }
.as-toast.as-show { opacity: 1; }

/* Floating bar down the side: computers only */
.as-is-float { position: fixed; left: 8px; top: 50%; transform: translateY(-50%); z-index: 900; display: none; }
.as-is-float .as-list { flex-direction: column; }
@media (min-width: 992px) { .as-is-float { display: block; } }
