/* Shared accessible Social Hub controls; visual identity continues to come from each theme's tokens. */
:root {
  --aio-control-radius: var(--rad, 8px);
  --aio-control-border-width: var(--t-divider-width, 1px);
  --aio-control-border-style: var(--t-divider-style, solid);
  --aio-control-speed: var(--t-speed, .18s);
  --aio-control-min-hit: 44px;
  --aio-focus-ring: 0 0 0 3px color-mix(in srgb, var(--ac1) 42%, transparent);
  --aio-popover-bg: color-mix(in srgb, var(--card) 96%, transparent);
  --aio-popover-fg: var(--txt);
  --aio-popover-shadow: var(--t-shadow-hover, var(--t-shadow, var(--shadow, 0 8px 24px rgba(0,0,0,.18))));
  --aio-state-hover: color-mix(in srgb, var(--ac1) 10%, transparent);
  --aio-state-active: color-mix(in srgb, var(--ac1) 16%, transparent);
  --aio-state-disabled-opacity: .48;
  --aio-state-danger: var(--danger, #c83232);
  --aio-state-danger-contrast: #fff;
}
.sh-post-actions { display: inline-flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.sh-post-inline-actions { margin-inline-start: auto; }
.sh-post-author-actions { inline-size: 100%; justify-content: center; margin-block-start: .75rem; }
.sh-post-action {
  appearance: none; display: inline-grid; place-items: center; flex: 0 0 auto;
  inline-size: var(--aio-control-min-hit); block-size: var(--aio-control-min-hit); padding: 0;
  color: var(--txt); background: var(--card);
  border: var(--aio-control-border-width) var(--aio-control-border-style) var(--border-subtle); border-radius: var(--aio-control-radius);
  box-shadow: var(--t-shadow, var(--shadow)); cursor: pointer; opacity: .68;
  transition: background var(--aio-control-speed), border-color var(--aio-control-speed), color var(--aio-control-speed), box-shadow var(--aio-control-speed), opacity var(--aio-control-speed), transform var(--aio-control-speed);
}
.sh-post-action svg { inline-size: 1rem; block-size: 1rem; pointer-events: none; }
.sh-post-action:hover { opacity: 1; background: var(--aio-state-hover); border-color: var(--border); box-shadow: var(--t-shadow-hover, var(--t-shadow, var(--shadow))); transform: scale(var(--t-hover-scale, 1)); }
.sh-post-action:active { background: var(--aio-state-active); transform: scale(.97); }
.sh-post-action:focus-visible, .reaction-btn:focus-visible {
  outline: 2px solid var(--ac1); outline-offset: 2px; box-shadow: var(--aio-focus-ring);
}
.sh-post-action-delete:hover, .sh-post-action-delete:focus-visible { color: var(--aio-state-danger); border-color: var(--aio-state-danger); }
.sh-post-action:disabled, .reaction-btn:disabled, .reaction-btn[aria-disabled="true"] {
  opacity: var(--aio-state-disabled-opacity); cursor: not-allowed; pointer-events: none; transform: none; box-shadow: none;
}
.reaction-btn { min-block-size: var(--aio-control-min-hit); min-inline-size: var(--aio-control-min-hit); justify-content: center; }
@media (max-width: 600px) {
  .sh-forum-post-op { grid-template-columns: minmax(0,1fr) !important; }
  .sh-forum-post-op .sh-forum-post-author { inline-size: 100%; min-inline-size: 0; flex-direction: column; align-items: center; text-align: center; }
  .sh-forum-post-op .sh-forum-post-content { inline-size: 100%; min-inline-size: 0; }
  .sh-post-author-actions { flex-wrap: nowrap; justify-content: center; gap: .35rem; margin-block-start: .65rem; max-inline-size: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .sh-post-action, .reaction-btn { transition-duration: .01ms !important; animation-duration: .01ms !important; }
}
