/**
 * dashboard.css — FacultyPage Theme
 * Extra styles specific to the authenticated dashboard / activity feed.
 * Loaded via the 'dashboard' library only on dashboard content types.
 */

/* ── FEED COLUMN LAYOUT ── */
.fp-feed {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

/* ── POST ANIMATIONS ── */
.fp-post {
  animation: fp-fade-up 0.4s ease both;
}
.fp-post:nth-child(1) { animation-delay: 0.05s; }
.fp-post:nth-child(2) { animation-delay: 0.12s; }
.fp-post:nth-child(3) { animation-delay: 0.19s; }
.fp-post:nth-child(4) { animation-delay: 0.26s; }

/* ── PAGE HEADER ANIMATION ── */
.fp-page-header {
  animation: fp-fade-up 0.4s ease both;
}

/* ── COMPOSER EXPANSION ── */
.fp-composer {
  animation: fp-fade-up 0.35s ease 0.04s both;
}
.fp-composer-actions {
  display: none;
}
.fp-composer.is-expanded .fp-composer-actions {
  display: flex;
}

/* ── RIGHT SIDEBAR ANIMATIONS ── */
.fp-sidebar-right > * {
  animation: fp-fade-up 0.45s ease both;
}
.fp-sidebar-right > *:nth-child(1) { animation-delay: 0.08s; }
.fp-sidebar-right > *:nth-child(2) { animation-delay: 0.16s; }
.fp-sidebar-right > *:nth-child(3) { animation-delay: 0.24s; }

/* ── POST ATTACHMENT: hover state ── */
.fp-post-attachment {
  cursor: pointer;
  transition: background var(--fp-transition), border-color var(--fp-transition);
}
.fp-post-attachment:hover {
  background: var(--fp-terra-pale);
  border-color: var(--fp-terra);
}

/* ── PROFILE COVER PATTERN (right sidebar card) ── */
.fp-profile-cover {
  position: relative;
  overflow: hidden;
}
.fp-profile-cover-pattern {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  background-image: repeating-linear-gradient(
    45deg,
    rgba(255,255,255,0.6) 0px,
    rgba(255,255,255,0.6) 1px,
    transparent 1px,
    transparent 12px
  );
}

/* ── LOADING PLACEHOLDER (skeleton) ── */
.fp-skeleton {
  background: linear-gradient(
    90deg,
    var(--fp-border) 25%,
    var(--fp-off-white) 50%,
    var(--fp-border) 75%
  );
  background-size: 200% 100%;
  animation: fp-skeleton-shimmer 1.5s infinite;
  border-radius: var(--fp-radius-sm);
}
@keyframes fp-skeleton-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ── RESPONSIVE ── */
@media (max-width: 768px) {
  /* Full-width feed on mobile */
  .fp-feed { width: 100%; }
  .fp-post { padding: 1rem; }
  .fp-composer { padding: 0.85rem 1rem; }
}
