/* Custom enhancements for Homepage */

/* Smooth card transitions and hover lift */
.service-card, .bookmark-card {
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.service-card:hover, .bookmark-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 8px 10px -6px rgba(0, 0, 0, 0.3);
}

/* Subtle border glow */
.service-card:hover {
  border-color: rgba(99, 102, 241, 0.4) !important;
}

/* Native Service Switch Component */
.hp-switch-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 4px 8px !important;
  margin-top: 8px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: rgba(15, 23, 42, 0.45) !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 6px !important;
  cursor: default !important;
  user-select: none !important;
  position: relative !important;
  z-index: 20 !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}

.hp-switch-wrap:hover {
  background: rgba(15, 23, 42, 0.7) !important;
  border-color: rgba(255, 255, 255, 0.15) !important;
}

.hp-switch-status {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
}

.hp-switch-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background-color: #64748b !important;
  transition: all 0.3s ease !important;
  flex-shrink: 0 !important;
}

.hp-switch-dot.active {
  background-color: #22c55e !important;
  box-shadow: 0 0 7px rgba(34, 197, 94, 0.7) !important;
}

.hp-switch-dot.inactive {
  background-color: #ef4444 !important;
}

.hp-switch-text {
  color: #94a3b8 !important;
  transition: color 0.25s ease !important;
  font-size: 11px !important;
}

.hp-switch-btn {
  position: relative !important;
  width: 36px !important;
  height: 19px !important;
  cursor: pointer !important;
  background-color: #334155 !important;
  border-radius: 20px !important;
  transition: background-color 0.25s ease !important;
  flex-shrink: 0 !important;
}

.hp-switch-btn.active {
  background-color: #2563eb !important;
}

.hp-switch-knob {
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 15px !important;
  height: 15px !important;
  background-color: #ffffff !important;
  border-radius: 50% !important;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4) !important;
}

.hp-switch-btn.active .hp-switch-knob {
  transform: translateX(17px) !important;
}

.hp-switch-btn.loading {
  opacity: 0.6 !important;
  pointer-events: none !important;
}

.hp-switch-btn.loading .hp-switch-knob {
  animation: hp-pulse 0.7s infinite alternate !important;
}

@keyframes hp-pulse {
  0% { transform: scale(0.9); }
  100% { transform: scale(1.1); }
}
