/* A compact vertical set of brand/platform badges, separate from page controls. */
.soul-social-dock {
  position: fixed;
  right: max(var(--social-right, 18px), env(safe-area-inset-right));
  bottom: max(var(--social-bottom, 18px), calc(12px + env(safe-area-inset-bottom)));
  z-index: 25;
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 54px;
  margin: 0;
  padding: 0;
  isolation: isolate;
  max-height: var(--social-max-height, calc(100dvh - 100px));
}
.soul-social-dock[hidden] { display: none !important; }
.soul-social-dock.is-scrollable { overflow-y: auto; overflow-x: hidden; scrollbar-width: none; }
.soul-social-dock.is-scrollable::-webkit-scrollbar { display: none; }
.soul-social-dock.is-scrollable .soul-social-tooltip { display: none; }
.soul-social-dock .soul-social-link {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 54px;
  height: 58px;
  box-sizing: border-box;
  margin: 0;
  padding: 7px 4px 6px;
  color: #fff;
  background: linear-gradient(145deg, #357f91, #163b4a);
  border: 1px solid #a4e2eeaa;
  border-radius: 18px;
  box-shadow: 0 3px 13px #00131d40, inset 0 1px 0 #ffffff20;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  flex: 0 0 auto;
}
.soul-social-dock .soul-social-link[data-social-brand="heart"] {
  background: linear-gradient(145deg, #917041, #49331d);
  border-color: #e8c480c7;
}
.soul-social-dock .soul-social-link:nth-child(3) { margin-top: 3px; }
.soul-social-dock .soul-social-link[data-social-brand="whatsapp"] {
  background: linear-gradient(145deg, #248c65, #15513d);
  border-color: #93ddbea8;
}
.soul-social-dock .soul-social-link > svg { display: block; flex: none; width: 25px; height: 25px; }
.soul-social-dock .soul-social-brand { font: 700 9px/1 Arial, sans-serif; letter-spacing: .1em; color: #fff; }
.soul-social-dock .soul-social-tooltip {
  position: absolute;
  right: calc(100% + 12px);
  top: 50%;
  transform: translateY(-50%);
  padding: 10px 13px;
  border: 1px solid #c7d8dc55;
  border-radius: 10px;
  background: #102731;
  color: #fff;
  box-shadow: 0 3px 16px #0002;
  font: 600 12px/1.4 Arial, sans-serif;
  letter-spacing: .025em;
  white-space: nowrap;
  visibility: hidden;
  pointer-events: none;
}
.soul-social-dock .soul-social-link:focus-visible { outline: 3px solid #fff; outline-offset: 3px; box-shadow: 0 0 0 5px #1e596b; }
.soul-social-dock .soul-social-link:focus-visible .soul-social-tooltip { visibility: visible; }
@media (hover: hover) {
  .soul-social-dock .soul-social-link:hover { border-color: #fff; filter: brightness(1.12); }
  .soul-social-dock .soul-social-link:hover .soul-social-tooltip { visibility: visible; }
}
@media (max-width: 767px) {
  .soul-social-dock { right: max(var(--social-right, 10px), env(safe-area-inset-right)); width: 44px; gap: 6px; }
  .soul-social-dock .soul-social-link { width: 44px; height: 50px; border-radius: 15px; gap: 3px; padding: 5px 3px; }
  .soul-social-dock .soul-social-link > svg { width: 22px; height: 22px; }
  .soul-social-dock .soul-social-brand { font-size: 8px; letter-spacing: .07em; }
  .soul-social-dock .soul-social-tooltip { right: calc(100% + 8px); font-size: 11px; padding: 8px 10px; }
}
@media (max-height: 480px) {
  .soul-social-dock { gap: 0; }
  .soul-social-dock .soul-social-link:nth-child(3) { margin-top: 0; }
  .soul-social-dock .soul-social-link { height: 44px; padding: 3px; gap: 2px; }
  .soul-social-dock .soul-social-link > svg { width: 20px; height: 20px; }
}
@media (forced-colors: active) {
  .soul-social-dock .soul-social-link { background: Canvas; color: LinkText; border: 2px solid LinkText; }
  .soul-social-dock .soul-social-brand { color: LinkText; }
}
