/* ===== JURISCONNECT — EXTRA POLISH ===== */

/* ===== PREMIUM GLOW EFFECTS ===== */
.premium-post {
  position: relative;
}

.premium-post::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(245,197,24,0.2), transparent, rgba(245,197,24,0.1));
  pointer-events: none;
  z-index: 0;
}

/* ===== LINK HOVER EFFECTS ===== */
.nav-logo, .sidebar-item, .chat-item, .lawyer-card, .post-card {
  cursor: pointer;
}

/* ===== ACTIVE STATES ===== */
.post-action-btn:active,
.btn:active,
.filter-chip:active {
  transform: scale(0.97) !important;
}

/* ===== CHAT STYLES ===== */
.chat-layout {
  overflow: hidden;
}

/* ===== PLAN CARD PREMIUM GLOW ===== */
.plan-card.featured {
  position: relative;
  overflow: hidden;
}

.plan-card.featured::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(circle, rgba(26,108,240,0.05) 0%, transparent 60%);
  pointer-events: none;
}

/* ===== BADGE ANIMATIONS ===== */
.nav-badge {
  animation: notification-pop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ===== SCROLLBAR IN CHAT ===== */
.chat-messages::-webkit-scrollbar {
  width: 4px;
}

/* ===== FORM FOCUS GLOW ===== */
.form-input:focus,
.form-select:focus,
.form-textarea:focus,
.chat-input-field:focus {
  transform: translateY(-1px);
}

/* ===== TABLE RESPONSIVE ===== */
@media (max-width: 768px) {
  .data-table {
    font-size: 12px;
  }
  .data-table th,
  .data-table td {
    padding: 10px 8px;
  }
}

/* ===== WELCOME PARALLAX ===== */
.welcome-bg {
  transition: transform 0.1s ease-out;
}

/* ===== PROFILE COVER GRADIENT OVERLAY ===== */
.profile-header-section {
  overflow: hidden;
}

/* ===== STORY VIEWER MEDIA ===== */
.story-viewer {
  background: var(--black);
}

/* ===== LOADING OVERLAY ===== */
.page-loading {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 8000;
}

/* ===== METRIC CARD GRADIENT ===== */
.metric-card {
  position: relative;
  overflow: hidden;
}

.metric-card::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--blue-faint);
  transform: translate(20px, -20px);
  pointer-events: none;
}

/* ===== PLAN TIMER CRITICAL ===== */
.plan-timer-value[style*="color:var(--red)"] {
  animation: pulse-scale 1s ease infinite;
}

/* ===== CHAT BUBBLE HOVER ===== */
.message-bubble:hover {
  opacity: 0.9;
}

/* ===== STORY RING GLOW ===== */
.story-ring:not(.viewed) {
  filter: drop-shadow(0 0 6px rgba(26,108,240,0.4));
}

.story-ring.premium-ring:not(.viewed) {
  filter: drop-shadow(0 0 8px rgba(245,197,24,0.5));
}

/* ===== ADMIN TABLE ACTIONS ===== */
.data-table td button {
  margin-bottom: 4px;
}

/* ===== EMPTY STATE ICON ===== */
.empty-state-icon {
  display: block;
  animation: float 3s ease-in-out infinite;
}

/* ===== INPUT TRANSITION ===== */
.form-input, .form-select, .form-textarea {
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

/* ===== PLAN CARD SHINE ===== */
.plan-card.featured:hover::before {
  content: '';
  position: absolute;
  top: -100%;
  left: -100%;
  width: 60%;
  height: 300%;
  background: linear-gradient(to right, transparent, rgba(255,255,255,0.03), transparent);
  transform: rotate(30deg);
  animation: shine 1.5s ease forwards;
}

@keyframes shine {
  from { left: -100%; }
  to { left: 150%; }
}

/* ===== SIDEBAR HOVER ===== */
.sidebar-item {
  position: relative;
  overflow: hidden;
}

.sidebar-item::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: var(--blue);
  transform: scaleY(0);
  transition: transform 0.2s ease;
  border-radius: 0 2px 2px 0;
}

.sidebar-item.active::before {
  transform: scaleY(1);
}

/* ===== TOOLTIP ===== */
[title] {
  position: relative;
}

/* ===== PREMIUM LAWYER CARD ===== */
.lawyer-card.premium-card .lawyer-card-cover {
  position: relative;
  overflow: hidden;
}

.lawyer-card.premium-card .lawyer-card-cover::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(245,197,24,0.05) 100%);
}

/* ===== POST MEDIA VIDEO ===== */
.post-media {
  cursor: pointer;
}

/* ===== AUTH CARD BORDER GLOW ===== */
.auth-card {
  position: relative;
}

.auth-card::before {
  content: '';
  position: absolute;
  inset: -1px;
  border-radius: calc(var(--radius-xl) + 1px);
  background: linear-gradient(135deg, rgba(26,108,240,0.1), transparent 50%, rgba(26,108,240,0.05));
  z-index: -1;
  pointer-events: none;
}

/* ===== WELCOME BUTTON GLOW ===== */
.welcome-btn-primary {
  position: relative;
}

.welcome-btn-primary::after {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: calc(var(--radius-full) + 2px);
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  filter: blur(8px);
  opacity: 0;
  z-index: -1;
  transition: opacity 0.3s ease;
}

.welcome-btn-primary:hover::after {
  opacity: 0.5;
}

/* ===== RIPPLE CONTAINER ===== */
.btn, .post-action-btn, .filter-chip {
  position: relative;
  overflow: hidden;
}

/* ===== SEARCH INPUT ===== */
#main-search-input:focus {
  box-shadow: 0 0 0 4px rgba(26,108,240,0.1), var(--shadow-glow);
}

/* ===== FEED CARD HOVER GRADIENT ===== */
.post-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, rgba(26,108,240,0) 0%, rgba(26,108,240,0) 100%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
}

.post-card:hover::after {
  opacity: 1;
  background: linear-gradient(135deg, rgba(26,108,240,0.01) 0%, transparent 100%);
}

/* ===== NOTIFICATION DOT PULSE ===== */
.nav-badge {
  position: absolute;
  animation: notification-pop 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* ===== MODAL SCROLL ===== */
.modal {
  scrollbar-width: thin;
  scrollbar-color: var(--black-5) transparent;
}

/* ===== ADMIN SIDEBAR ITEMS ===== */
.admin-sidebar .sidebar-item {
  font-size: 14px;
}

/* ===== DASHBOARD CHART PLACEHOLDER ===== */
.chart-placeholder {
  background: var(--black-3);
  border-radius: var(--radius-md);
  height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray-2);
  font-size: 14px;
}

/* ===== PLAN TIMER PULSE ===== */
.plan-expiring-soon .plan-timer-value {
  animation: pulse-scale 1.5s ease-in-out infinite;
  color: var(--red) !important;
}

/* ===== STORIES BAR SHADOW ===== */
.stories-bar {
  box-shadow: var(--shadow-sm);
}

/* ===== VERIFY BADGE TOOLTIP ===== */
.verify-seal {
  cursor: help;
  transition: filter 0.2s ease;
}

.verify-seal:hover {
  filter: drop-shadow(0 0 4px var(--blue));
}

/* ===== GLOBAL TRANSITION ===== */
* {
  transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

/* But not for transforms and complex animations */
.post-card, .card, .lawyer-card, .btn, .sidebar-item, .plan-card {
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1), 
              box-shadow 0.25s ease, 
              border-color 0.25s ease,
              background-color 0.25s ease;
}
