/**
 * Invictus Law - Component-specific overrides
 * Extends Tailwind with custom component styles
 */

/* Practice area panel - typography-focused, hover elevation */
.practice-panel {
  background-color: #0E1623;
  border: 1px solid rgba(148, 163, 184, 0.15);
  padding: 1.5rem;
  transition: border-color var(--duration-fast) var(--ease-smooth),
    box-shadow var(--duration-fast) var(--ease-smooth),
    transform var(--duration-fast) var(--ease-smooth);
}

@media (min-width: 1024px) {
  .practice-panel {
    padding: 2rem;
  }
}

.practice-panel:hover {
  border-color: rgba(255, 122, 26, 0.4);
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.12);
  transform: translateY(-2px);
}

/* Content card */
.content-card {
  background-color: #0E1623;
  border: 1px solid rgba(148, 163, 184, 0.15);
  padding: 1.5rem;
  transition: border-color var(--duration-fast) var(--ease-smooth),
    box-shadow var(--duration-fast) var(--ease-smooth);
}

.content-card:hover {
  border-color: rgba(255, 122, 26, 0.4);
  box-shadow: 0 0 24px rgba(255, 122, 26, 0.12);
}

/* Form input focus glow */
.input-glow:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 3px var(--color-accent-glow-subtle);
}

/* Navbar glass effect */
.navbar-glass {
  background: rgba(7, 11, 18, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.navbar-glass::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 122, 26, 0.3),
    transparent
  );
}
