/* ==========================================================================
   Disrupt Media — Auxiliary Styles & Tailwind Extensions
   Brand Accent: Electric Rose / Crimson (#F43F5E) & Obsidian Violet (#07070A)
   ========================================================================== */

/* Grid Overlay */
.grid-overlay {
  background-image: 
    linear-gradient(to right, rgba(255, 255, 255, 0.02) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(255, 255, 255, 0.02) 1px, transparent 1px);
  background-size: 56px 56px;
}

/* Service Pills States */
.pill-btn {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(244, 63, 94, 0.25);
  color: #cbd5e1;
}

.pill-btn:hover {
  background: rgba(244, 63, 94, 0.12);
  border-color: rgba(244, 63, 94, 0.5);
  color: #ffffff;
}

.pill-btn.active {
  background: #f43f5e;
  border-color: #f43f5e;
  color: #ffffff;
  box-shadow: 0 0 16px rgba(244, 63, 94, 0.45);
}

/* Form Feedback States */
.form-feedback.success {
  background: rgba(16, 185, 129, 0.15);
  border: 1px solid rgba(16, 185, 129, 0.4);
  color: #34d399;
}

.form-feedback.error {
  background: rgba(239, 68, 68, 0.15);
  border: 1px solid rgba(239, 68, 68, 0.4);
  color: #f87171;
}

/* Mobile Menu Toggle States */
.mobile-menu-toggle.open span:nth-child(1) {
  transform: rotate(45deg) translate(5px, 5px);
}
.mobile-menu-toggle.open span:nth-child(2) {
  opacity: 0;
}
.mobile-menu-toggle.open span:nth-child(3) {
  transform: rotate(-45deg) translate(5px, -5px);
}

.mobile-nav.active {
  display: flex !important;
}

/* Lightbox Modal Active */
.modal.active {
  display: flex !important;
}

/* Active Nav Item Underline */
.nav-item.active {
  color: #ffffff;
  position: relative;
}

.nav-item.active::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 100%;
  height: 2px;
  background: #f43f5e;
  border-radius: 2px;
  box-shadow: 0 0 8px #f43f5e;
}
