.devices-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-4);
}

@media (min-width: 640px) {
  .devices-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 1024px) {
  .devices-grid {
    grid-template-columns: repeat(6, 1fr);
  }
}

.device-card {
  padding: var(--sp-6) var(--sp-4);
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  transition: all var(--dur-base) var(--ease-out);
}

.device-card:hover {
  transform: translateY(-4px);
  border-color: var(--clr-primary);
}

.device-icon {
  width: 52px;
  height: 52px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: center;
  background: hsla(228, 25%, 15%, 0.8);
  border: 1px solid var(--clr-glass-border);
  color: var(--clr-primary);
  transition: all var(--dur-base) ease;
}

.device-card:hover .device-icon {
  background: hsla(195, 100%, 55%, 0.15);
  box-shadow: 0 0 20px var(--clr-primary-glow);
}

.device-icon svg {
  width: 26px;
  height: 26px;
  stroke: currentColor;
  stroke-width: 2;
  fill: none;
}

.device-name {
  font-family: var(--font-heading);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: #ffffff;
}

.device-apps {
  font-size: var(--fs-xs);
  color: var(--clr-text-dim);
}
